|
|
|
| каким образом можно получить инфу о параметрах функции, допустим сколько их, какой тип имеет каждый (примечание: функция находится в классе) | |
|
|
|
|
|
|
|
для: 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 | |
|
|
|