Prática recomendada de PHP: parâmetros de tipo
Há as práticas que aprendemos na escola, as que assumimos por preguiça, as que adotamos por hábito, seja à força de ver ou copiando e colando sistematicamente. Com o tempo e a experiência, fica claro que buscamos metodologias e sintaxes cada vez mais claras. Apesar das tendências que se distinguem em cada linguagem, muitas vezes somos capazes de determinar, lendo o código, qual de nossa equipe possui tal sintaxe Em C #, os puristas adquirirão o hábito de iniciar todas as suas interfaces com um "I" Por exemplo .
resumo
PHP, uma sintaxe livre… muito livre?
Eu mesmo tenho vários hábitos que me permitem construir meu código de maneira regular. Isso para encontrar meu caminho facilmente, para trabalhar rapidamente, mas também para facilitar a depuração e a leitura do meu código para meus colegas.
Digite seus parâmetros, para quê? E por que isso é uma boa prática?
Em PHP, a sintaxe é muito livre. Quero dizer muito livre pelo fato de que a linguagem não é muito prolixo. Sem ser um defensor de linguagens como Java por exemplo, acho que digitar seus parâmetros só pode nos ajudar em nosso trabalho.
Por que perder tempo escrevendo o tipo de dados?
De fato, mas vamos comparar imediatamente os prós e os contras.
Nos contras, sem ser tempos ruins, terei dificuldade em citar outro argumento que não o que escrevi acima.
Nos profissionais, eu poderia indicar uma pequena lista:
- Isso me ajuda a construir meu código. No meu protótipo (declaração da minha função), sei que tal e tal argumento deve ser um amatriz ou int.
- Isso me permite depurar mais rapidamente. Se você declarou que queria um argumento do tipo Utilizador em seu método, o PHP esperará uma instância de User. Ou tente dar ummatriz ou qualquer outro tipo diferente do estipulado, fará com que o PHP pare imediatamente. É certo que o erro corre o risco de ser bastante "difícil", mas todo o resto do seu desenvolvimento provavelmente não falhará.
- Meus colegas gostam de ler meu código como um livro. De fato, quando sabemos que o método setItem(…) recebe um argumento do tipo Foo, isso ajuda. Não ?
12função setItem($item);função setItem(Foo $ item);
É certo que esta lista contém apenas 3 pontos, mas o nosso trabalho obriga-nos a estar sempre em pé de guerra e a explorar sempre novas avenidas, aconselho-o a experimentar e ver por si mesmo.
Um problema suspenso com o tipo misto
Na verdade, devo, mesmo assim, admitir uma fraqueza, o tipo misto. Cara horrível e ser banido. Para aqueles que codificaram em C/C++, é como declarar um ponteiro de instância com um (void *).
Aconselho-vos tanto quanto possível a não usar este tipo e a limitar a sua utilização. Um exemplo ?
O método setPoireau(mixed $poireau) leva alho-poró como parâmetro, mas como não é digitado, você também pode dar a ele um selo de bebê… Problemático.
Se você queria forçar alho-poró, sabe o que tem que fazer, e vamos admitir que você tem uma mente distorcida e gostaria de poder dar vegetais, convido você a usar uma interface (ou um resumo de classe ) e defina seu método assim.
|
|
Concordo que este exemplo pode não ser o melhor que existe, mas tem o mérito de ser claro.
Conclusão
A digitação não é obrigatória, mas fica à disposição de quem quiser trabalhar de forma clara e limpa. Eu recomendo fortemente para você.
Talvez tenhamos o direito, um dia, de digitar o retorno de um método para nos ajudar em nossa busca por uma semântica cada vez melhor.