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() - Видалити раніше встановлений імітатор