Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: дамп параметры функций
 
 автор: NSDaler   (15.07.2010 в 20:05)   письмо автору
 
 

каким образом можно получить инфу о параметрах функции, допустим сколько их, какой тип имеет каждый (примечание: функция находится в классе)

  Ответить  
 
 автор: sms-send   (16.07.2010 в 04:43)   письмо автору
 
   для: NSDaler   (15.07.2010 в 20:05)
 

Если нужно получить описание параметров по определению метода, то так:
<?php
$classReflector 
= new ReflectionClass('className');
foreach(
$classReflector->getMethods() as $method)
{
    echo 
"-----Method: "$method->getName(), "-----\r\n";
    
$parameters $method->getParameters();
    if(
count($parameters)>0)
    {
        echo 
"Parameters ("count($parameters), "):\r\n";
        foreach(
$method->getParameters() as $param)
        {
            echo 
'$'$param->name': ';

            if(
$param->isArray())
                echo 
'array';
            else if(!
is_null($class $param->getClass()))
                echo 
$class->name;
            else
                echo 
'any type';

            if(
$param->isDefaultValueAvailable())
            {
                echo 
', $default = ';
                
var_export($param->getDefaultValue());
            }
            echo 
"\r\n";
        }
    }
    echo 
"\r\n";
}


Если нужно во время выполнения внутри тела метода получить фактически переданные аргументы, то так:
// <?php
$args 
func_get_args();
var_dump($args);

gettype
is_array
is_bool
is_float
is_int
is_null
is_object & get_class
is_resource
is_string

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования