/
vshmidt
/
php
Обзор
Документация
Войти
/
vshmidt
/
php
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
ext/reflection/tests/ReflectionParameter_002.phpt
80 строк
2 KB
Nikita Popov
Reindent phpt files
04 фев 2020, 00:52
04 фев 2020, 00:52
f8d7958
Код
Авторство
О чём код?
--TEST-- ReflectionParameter class - isPassedByReferenceMethod() --CREDITS-- Robin Fernandes <robinf@php.net> Steve Seear <stevseea@php.net> --FILE-- <?php class ReflectTestClass { public static function staticMethod(&$paramOne, $anotherParam) { return ++$theIncrement; } public function instanceMethod($firstParam, &$secondParam) { $firstParam = "Hello\n"; } } // Create an instance of the Reflection_Method class $method = new ReflectionMethod('ReflectTestClass', 'staticMethod'); // Get the parameters $parameters = $method->getParameters(); echo "Parameters from staticMethod:\n\n"; foreach($parameters as $parameter) { var_dump($parameter); if($parameter->isPassedByReference()) { echo "This param is passed by reference\n"; } else { echo "This param is not passed by reference\n"; } echo "\n"; } // Create an instance of the Reflection_Method class $method = new ReflectionMethod('ReflectTestClass', 'instanceMethod'); // Get the parameters $parameters = $method->getParameters(); echo "Parameters from instanceMethod:\n\n"; foreach($parameters as $parameter) { var_dump($parameter); if($parameter->isPassedByReference()) { echo "This param is passed by reference\n"; } else { echo "This param is not passed by reference\n"; } echo "\n"; } echo "done\n"; ?> --EXPECTF-- Parameters from staticMethod: object(ReflectionParameter)#%i (1) { ["name"]=> string(8) "paramOne" } This param is passed by reference object(ReflectionParameter)#%i (1) { ["name"]=> string(12) "anotherParam" } This param is not passed by reference Parameters from instanceMethod: object(ReflectionParameter)#%i (1) { ["name"]=> string(10) "firstParam" } This param is not passed by reference object(ReflectionParameter)#%i (1) { ["name"]=> string(11) "secondParam" } This param is passed by reference done