uopz_set_mock
(PECL uopz 5, PECL uopz 6, PECL uopz 7)
uopz_set_mock — Використовувати імітатор замість класу для нових об'єктів
Опис
uopz_set_mock(string $class, mixed $mock): void
Якщо mock
- це рядок, що містить ім'я класу, тоді він буде створений замість class
. . mock
також може бути об'єктом.
Зауваження :
Тільки динамічний доступ до властивостей та методів буде використовувати об'єкт
mock
. Статичний доступ використовуватиме оригінальнийclass
Смотритеприклад нижче.
Список параметрів
class
Ім'я класу, який буде імітовано.
mock
Імітатор у вигляді рядка, що містить ім'я класу, що використовується, або об'єкт. Якщо передано рядок, він має містити абсолютне ім'я класу. У цьому випадку рекомендується використовувати магічну константу ::class
Значення, що повертаються
Функція не повертає значення після виконання.
список змін
Версия | Опис |
---|---|
uopz 6.0.0 | Імітування статичних функцій не підтримуються цієї функцією. Замість цього слід використовувати uopz_redefine() і uopz_set_return(), илиComponere |
Приклади
Приклад #1 Приклад використання uopz_set_mock()****
Loading...
Результат виконання наведеного прикладу:
mockA
Приклад #2 Приклад використання uopz_set_mock()****
Loading...
Результат виконання наведеного прикладу:
mockA
Приклад #3uopz_set_mock()** та статичні члени класу**
Починаючи з uopz 6.0.0, імітація статичних членів класу не підтримується.
Loading...
Результат виконання наведеного прикладу:
A
A
Висновок прикладу uopz 5:
mockA
mockA
Дивіться також
- uopz_get_mock() - отримати поточний імітатор (mock) для класу
- uopz_unset_mock() - Видалити раніше встановлений імітатор