(PECL uopz 5, PECL uopz 6, PECL uopz 7)
uopz_set_mock — Использовать имитатор вместо класса для новых объектов
   Если mock - это строка, содержащая имя класса, тогда он
   будет создан вместо class. mock
   также может быть объектом.
  
Замечание:
Только динамический доступ к свойствам и методам будет использовать объект
mock. Статический доступ будет использовать оригинальныйclass. Смотрите пример ниже.
classИмя класса, который будет имитирован.
mock
      Имитатор в виде строки, содержащей имя используемого класса, либо объект.
      Если передана строка, она должна быть содержать абсолютное имя класса.
      В этом случае рекомендуется использовать магическую константу ::class.
     
Функция не возвращает значения после выполнения.
| Версия | Описание | 
|---|---|
| PECL-модуль uopz 6.0.0 | Функция больше не поддерживает имитирование статических функций. Вместо этого пользуются функциями uopz_redefine() и uopz_set_return(), или Componere. | 
Пример #1 Пример использования функции 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();
?>Результат выполнения приведённого примера:
mockA
Пример #2 Пример использования 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();
?>Результат выполнения приведённого примера:
mockA
Пример #3 uopz_set_mock() и статические члены класса
Начиная с uopz 6.0.0, имитация статических членов класса не поддерживается.
<?php
class 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();Результат выполнения приведённого примера:
A A
Вывод примера в uopz 5:
mockA mockA
