Então, Caio.
Isso se chama parâmetros nomeados, que permite a passagem de argumentos para uma função utilizando os nomes dos parâmetros, ao invés da posição do parâmetros como é mais comum de se ver nos códigos.
Por exemplo, vamos supor que temos a seguinte função que imprime nome e sobrenome:
function imprimeNome(string $nome, string $sobrenome){
echo "Olá meu nome é $nome $sobrenome" .PHP_EOL;
}
Sendo assim, a forma mais comum de se chamar essa função, é passando os parâmetros pela posição dos parâmetros, ou seja, devemos passar os valores na mesma ordem que eles foram declarados, da seguinte maneira:
function imprimeNome(string $nome, string $sobrenome){
echo "Olá meu nome é $nome $sobrenome" .PHP_EOL;
}
imprimeNome("Caio","Martinez");
O resultado impresso na tela será Olá meu nome é Caio Martinez
.
Contudo, podemos deixar mais explícito usando os parâmetros nomeados , que indicamos o nome dos parâmetros da seguinte maneira:
function imprimeNome(string $nome, string $sobrenome){
echo "Olá meu nome é $nome $sobrenome" .PHP_EOL;
}
imprimeNome(nome: "Caio", sobrenome: "Martinez");
O resultado impresso na tela será Olá meu nome é Caio Martinez
.
Você pode me perguntar:
Tá, Vinicius, mas quais os benefícios disso?
Bom, o código fica mais legível e te dar a oportunidade de não seguir a ordem que os parâmetros foram definidos, ou seja, você pode chamar a função dessa maneira que o resultado será o mesmo:
function imprimeNome(string $nome, string $sobrenome){
echo "Olá meu nome é $nome $sobrenome" .PHP_EOL;
}
imprimeNome(sobrenome: "Martinez", nome: "Caio");
O resultado impresso na tela será Olá meu nome é Caio Martinez
.
Veja que este recurso te dá essa flexibilidade :D
Espero ter esclarecido suas dúvidas, Caio :)