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.