Como usar o ReflectionParameter do PHP
Para obter uma instância do ReflectionParameter, primeiro você precisa criar um objeto ReflectionFunction ou um ReflectionMethod e, em seguida, chamar a função getParameters() da nova classe e, que retorna uma matriz de ReflectionParameter. Esse array permite identificar e tomar desições quanto aos parâmetros da função ou método alvo. Até vir a executar essa função/metodo com os tipos dos parâmetros corretos. Ou, gerar arquivos de classes que chamem corretamente a função/metodo.
É, preciso entender que toda function criada fora de uma classe é considerada um função, e deve utilizar a classe ReflectionFunction. Por outro lado, toda function criada dentro de uma classe é considerada um metodo e, nesse caso, deve ser utilizada o objeto ReflectionMethod.
Métodos-chave de ReflectionParameter
A classe ReflectionParameter recupera informações sobre os parâmetros de uma função ou método.
Métodos
getName(): Obtém o nome do parâmetro (sem o $sinal). getType(): Retorna um objeto ReflectionType(ou ReflectionNamedType/ ReflectionUnionTypea partir do PHP 8.0), que pode ser consultado para obter informações de tipo. isOptional(): Verifica se o parâmetro é opcional. isDefaultValueAvailable(): Verifica se existe um valor padrão disponível. getDefaultValue(): Obtém o valor padrão do parâmetro (gera uma exceção se não for opcional). isPassedByReference(): Verifica se o parâmetro é passado por referência. getAttributes(): Retorna uma matriz de ReflectionAttributeinstâncias associadas ao parâmetro. isPromoted(): Verifica se o parâmetro é uma propriedade promovida (PHP 8.0+).
Para inspecionar os parâmetros de uma função, primeiro crie uma instância das classes ReflectionFunction ou ReflectionMethod e, em seguida, use seus método ReflectionFunctionAbstract::getParameters() para recuperar uma array de parâmetros.