Obj::getMethodArguments() 

\nn\t3::Obj()->getMethodArguments($className = NULL, $methodName = NULL); 

Get information about the arguments of a method. | Also takes into account the``type hinting``specified by@paramain``, e.g. forObjectStorage``.

\nn\t3::Obj()->getMethodArguments( \My\Model\Name::class, 'myMethodName' );
\nn\t3::Obj()->getMethodArguments( $myClassInstance, 'myMethodName' );
Copied!

Returns as an example:

'varName' => [
    'type' => 'Storage',
    'storageType' => 'Storage',
    'elementType' => 'Model',
 'optional' => true,
 'defaultValue' => '123'
]
Copied!

return array

Source Code 

public function getMethodArguments( $className = null, $methodName = null )
{
	$result = [];
	$method = $this->getClassSchema( $className )->getMethod( $methodName );
	$parameters = $method->getParameters();
	if (!$parameters) return [];
	foreach ($parameters as $param) {
		$paramType = $param->getType();
		$typeInfo = $this->parseType( $paramType );
		$result[$param->getName()] = [
			'type' 			=> $paramType,
			'simple' 		=> $typeInfo['simple'],
			'storageType' 	=> $typeInfo['type'],
			'elementType' 	=> $typeInfo['elementType'],
			'optional' 		=> $param->isOptional(),
			'defaultValue'	=> $param->getDefaultValue()
		];
	}
	return $result;
}
Copied!