(PECL uopz 5, PECL uopz 6, PECL uopz 7)
uopz_set_mock — Utilise une simulation au lieu d'une classe pour de nouveaux objets
   Si mock est une chaîne contenant le nom d'une classe alors elle sera instanciée à la place de
   class. mock peut aussi être un objet.
  
Note:
Seul l'accès dynamique aux propriétés et méthodes utilisera l'objet
mock. L'accès statique utilise toujours laclassoriginale. Voir l'exemple ci-dessous.
classLe nom de la classe à simuler.
mock
      La simulation à utiliser sous forme de chaîne contenant le nom de la classe à utiliser ou un objet.
      Si une chaîne est passée, elle doit être le nom de la classe entièrement qualifié. Il est
      recommandé d'utiliser la constante magique ::class dans ce cas.
     
Aucune valeur n'est retournée.
| Version | Description | 
|---|---|
| PECL uopz 6.0.0 | Simuler les membres statiques n'est plus supporté par cette fonction. uopz_redefine() et uopz_set_return(), ou Componere peuvent être utilisés à la place. | 
Exemple #1 Exemple de uopz_set_mock()
<?php
class A {
    public function who() {
        echo "A";
    }
}
class mockA {
    public function who() {
        echo "mockA";
    }
}
uopz_set_mock(A::class, mockA::class);
(new A)->who();
?>L'exemple ci-dessus va afficher :
mockA
Exemple #2 Exemple de uopz_set_mock()
<?php
class A {
    public function who() {
        echo "A";
    }
}
uopz_set_mock(A::class, new class {
                            public function who() {
                                echo "mockA";
                            }
                        });
(new A)->who();
?>L'exemple ci-dessus va afficher :
mockA
Exemple #3 uopz_set_mock() et membres statiques
Depuis uopz 6.0.0, la simulation des membres statiques n'est plus supportée.
<?php
class A {
    const CON = 'A';
    public static function who() {
        echo "A";
    }
}
uopz_set_mock(A::class, new class {
                            const CON = 'mockA';
                            public static function who() {
                                echo "mockA";
                            }
                        });
echo A::CON, PHP_EOL;
A::who();
?>L'exemple ci-dessus va afficher :
A A
L'exemple ci-dessus affiche avec uopz 5:
mockA mockA
