PHP
Agencia web » Noticias digitales » Práctica recomendada de PHP: Parámetros de tipo

Práctica recomendada de PHP: Parámetros de tipo

Están las prácticas que aprendemos en la escuela, las que asumimos por pereza, las que adoptamos por costumbre, ya sea a fuerza de verlo o de copiar y pegar sistemáticamente. Con el tiempo y la experiencia, está claro que buscamos metodologías y sintaxis cada vez más claras. Malgré les tendances qui se distingues autour de chaque langage, on est souvent capable de déterminer en lisant du code, qui de notre équipe possède une telle syntaxe En C#, les puristes prendront l'habitude de faire commencer toutes leurs interfaces par un « I » por ejemplo.

PHP, una sintaxis libre… ¿demasiado libre?

Yo mismo tengo varios hábitos que me permiten construir mi código de manera regular. Esto con el fin de orientarme fácilmente, trabajar rápidamente, pero también para facilitar la depuración y la lectura de mi código para mis colegas.

Escriba sus parámetros, ¿para qué? ¿Y por qué es una buena práctica?

En PHP, la sintaxis es muy libre. Me refiero a muy libre por el hecho de que el lenguaje no es muy detallado. Sin ser un partidario de lenguajes como Java, por ejemplo, creo que escribir sus parámetros solo puede ayudarnos en nuestro trabajo.

¿Por qué perder el tiempo escribiendo el tipo de datos?
De hecho, pero comparemos inmediatamente los pros y los contras.

En contra, sin ser malos tiempos, me resultará difícil citar otro argumento que no sea el que escribí más arriba.

En los pros, podría enunciar una pequeña lista:

  1. Me ayuda a construir mi código. En mi prototipo (declaración de mi función), sé que tal o cual argumento debe ser unrray ou int.
  2. Esto me permite depurar más rápido. Si declaraste que querías un argumento de tipo Usuario en su método, PHP esperará una instancia de Usuario. O tratar de dar unarray o cualquier otro tipo diferente al estipulado, hará que PHP se detenga inmediatamente. Es cierto que el error corre el riesgo de ser bastante "difícil", pero es probable que el resto de su desarrollo no tenga fallas.
  3. A mis colegas les gusta leer mi código como un libro. De hecho, cuando sabemos que el método setItem(…) toma un argumento de tipo Foo, eso ayuda. No ?
    1
    2
    función setItem($artículo);
    función setItem(Artículo de Foo $);

Es cierto que esta lista contiene solo 3 puntos, pero nuestro trabajo nos obliga a estar siempre en pie de guerra y a explorar siempre nuevas vías, le aconsejo que pruebe y vea por sí mismo.

Un problema suspendido con el tipo mezclado

De hecho, debo admitir de todos modos una debilidad, el tipo mezclado. Tipo horrible y para ser prohibido. Para aquellos que han codificado en C/C++, es como declarar un puntero de instancia con un (vacío *).

Le aconsejo en la medida de lo posible que no use este tipo y que limite su uso. Un ejemplo ?
El método setPoireau(mixed $poireau) toma puerros como parámetros pero como no está tipeado, también puedes darle una cría de foca… Problemático.

Si querías forzar a comer puerros, ya sabes lo que tienes que hacer, y admitamos que tienes la mente retorcida, y que te gustaría poder dar verduras, te invito a usar una interfaz (o un resumen de clase ) y define tu método así.

1
función puerro(I Vegetal $puerro);

Estaré de acuerdo en que este ejemplo puede no ser el mejor que existe, pero tiene el mérito de ser claro.

Conclusión

La mecanografía no es obligatoria, pero queda a disposición de cualquiera que quiera trabajar de forma clara y limpia. Te lo recomiendo encarecidamente.

Quizás algún día tengamos derecho a escribir el retorno de un método que nos ayude en nuestra búsqueda de una semántica cada vez mejor.

★ ★ ★ ★ ★