private static function getParameterDeclaration(ReflectionFunctionAbstract $method)
{
return Joiner::on(', ')->join(Arrays::map($method->getParameters(), function (ReflectionParameter $param) {
$result = '';
if ($param->getClass()) {
$result .= $param->getClass()->getName() . ' ';
}
if ($param->isArray()) {
$result .= 'array ';
}
if ($param->isPassedByReference()) {
$result .= '&';
}
$result .= '$' . $param->name;
if ($param->isDefaultValueAvailable()) {
$result .= " = null";
// methodHandler gets only the passed arguments so anything would work here
}
return $result;
}));
}