/
vshmidt
/
php
Обзор
Документация
Войти
/
vshmidt
/
php
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
ext/reflection/tests/ReflectionClass_newInstanceWithoutConstructor.phpt
50 строк
1 KB
Nikita Popov
Fixed bug #78410
13 авг 2019, 21:23
13 авг 2019, 21:23
d891b5f
Код
Авторство
О чём код?
--TEST-- ReflectionClass::newInstanceWithoutConstructor() --CREDITS-- Sebastian Bergmann <sebastian@php.net> --FILE-- <?php class Foo { public function __construct() { print __METHOD__; } } $class = new ReflectionClass('Foo'); var_dump($class->newInstanceWithoutConstructor()); $class = new ReflectionClass('StdClass'); var_dump($class->newInstanceWithoutConstructor()); $class = new ReflectionClass('DateTime'); var_dump($class->newInstanceWithoutConstructor()); $class = new ReflectionClass('Generator'); try { var_dump($class->newInstanceWithoutConstructor()); } catch (ReflectionException $e) { echo $e->getMessage(), "\n"; } final class Bar extends ArrayObject { } $class = new ReflectionClass('Bar'); var_dump($class->newInstanceWithoutConstructor()); ?> --EXPECTF-- object(Foo)#%d (0) { } object(stdClass)#%d (0) { } object(DateTime)#%d (0) { } Class Generator is an internal class marked as final that cannot be instantiated without invoking its constructor object(Bar)#%d (1) { ["storage":"ArrayObject":private]=> array(0) { } }