array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'tr', ), 'this' => array ( 0 => 'function.uopz-set-mock.php', 1 => 'uopz_set_mock', ), 'up' => array ( 0 => 'ref.uopz.php', 1 => 'Uopz İşlevleri', ), 'prev' => array ( 0 => 'function.uopz-set-hook.php', 1 => 'uopz_set_hook', ), 'next' => array ( 0 => 'function.uopz-set-property.php', 1 => 'uopz_set_property', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'en', 'path' => 'reference/uopz/functions/uopz-set-mock.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PECL uopz 5, PECL uopz 6, PECL uopz 7)
uopz_set_mock — Use mock instead of class for new objects
If mock
is a string containing the name of a class then it will be instantiated instead of
class
. mock
can also be an object.
Bilginize:
Only dynamic access to properties and methods will use the
mock
object. Static access still uses the originalclass
. See example below.
class
The name of the class to be mocked.
mock
The mock to use in the form of a string containing the name of the class to use or an object.
If a string is passed, it has to be the fully qualified class name. It is
recommended to use the ::class
magic constant in this case.
Hiçbir değer dönmez.
Sürüm: | Açıklama |
---|---|
uopz 6.0.0 | Mocking static members is no longer supported by this function. uopz_redefine() and uopz_set_return(), or Componere can be used instead. |
Örnek 1 uopz_set_mock() example
<?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();
?>
Yukarıdaki örneğin çıktısı:
mockA
Örnek 2 uopz_set_mock() example
<?php
class A {
public function who() {
echo "A";
}
}
uopz_set_mock(A::class, new class {
public function who() {
echo "mockA";
}
});
(new A)->who();
?>
Yukarıdaki örneğin çıktısı:
mockA
Örnek 3 uopz_set_mock() and static members
As of uopz 6.0.0 mocking static members is no longer supported.
<?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();
?>
Yukarıdaki örneğin çıktısı:
A A
Output of the above example in uopz 5:
mockA mockA