Al iniciar un proyecto, los desarrolladores deben tener presente las mejores técnicas PHP para escribir código limpio y legible, para que sea fácil de mantener y corregir al momento de tener errores. Para ello, los desarrolladores deben seguir los estándares de codificación y contar con las mejores prácticas.
Estándares de codificación
Los estándares de codificación son las reglas que establecen los desarrolladores en un proyecto. Al establecer estas reglas sirven como modelo para los miembros del proyecto, lo que ayuda a comprender el código de los demás de manera fácil.
Con la forma adecuada de codificación, el código se volverá simple y limpio, lo que lo ayudará a evitar errores comunes, además que se puede copiar y usar para otros proyectos.
Los estándares de codificación comprenden los siguientes aspectos:
- Nombrar variables, funciones, clases
- Usar espacios o tabulaciones
- Comentarios
En caso de que se desarrollen productos para WordPress como temas y complementos, se debe seguir los estándares de codificación de WordPress. Sin embargo, estos estándares de codificación tienen algunas reglas estrictas como son las siguientes:
Sangría y longitud de línea del código
Se debe usar pestañas en lugar de espacios para ayudar a las computadoras a mostrar el código de la manera más flexible. En términos de longitud de línea, una línea de código debe tener entre 75 y 85 caracteres para que sea legible.
Etiqueta PHP taquigráfica
WordPress requiere que escriba la etiqueta PHP completa de la siguiente manera:
<? php echo ‘Algún texto’ ; ?>
A partir de la versión 5.4, PHP admite la escritura de etiquetas cortas (esta función siempre está activada), por lo que puede usarla para un comando más limpio:
<? = ‘Algún texto’ ; ?>
Estructura de control
Estructura de control incluye si, para, mientras, entre otras. Entre estas palabras y el corchete de apertura, se debe utilizar un espacio (presionando la barra espaciadora sólo una vez) para distinguirlas de las llamadas a funciones.
si ((condición 1 ) || (condición 2 )) {
la acción a implementar 1 ; } elseif ((condición 3 ) && (condición 4 )) { la acción que se implementará 2 ; } else { la acción que se implementará por defecto; }
Llamadas a funciones
Al llamar a una función, debe agregar un espacio entre el nombre de la función, el paréntesis de apertura y la primera variable y evitar escribir sin espacios. También debe agregar un espacio entre la coma y cada parámetro, entre el último parámetro, el corchete de cierre y el punto y coma. Para una mejor visualización, se puede ver el siguiente ejemplo de estándares de codificación de llamadas de función:
$ var = foo ( $ bar , $ baz , $ quux );
Nombrar archivos y clases
En WordPress, las clases deben tener el nombre Class_Name. Además se debe escribir en mayúscula la primera letra de cada palabra y separarla con un guion bajo.
El nombre de archivo de la clase se escribe como class-class-name.php. Se debe agregar el prefijo class-, los nombres de las clases en minúsculas y las palabras separadas con guiones.
Sin embargo, cuando se trabaje con complementos y temas «grandes», se requiere usar Composer para cargar archivos automáticamente. En este caso, los estándares de codificación anteriores ya no pueden funcionar porque Composer sigue las reglas de PSR. Por lo tanto, es crucial seguir las reglas de nomenclatura de clases y archivos PSR si usa Composer:
Nombre de la clase: en forma de ClassName (escriba con mayúscula la primera letra de cada palabra y escriba las palabras sin espacios).
Nombre de archivo: en forma de ClassName.php (el nombre del archivo es el mismo que el de la clase).
Condición de yoda
En caso de que las comparaciones lógicas tengan variables, se debe colocar constantes, literales y llamadas a funciones a la izquierda y colocar variables a la derecha.
si ( verdadero === $ la_fuerza ) {
$ victorioso = tu_vas ( $ serás ); }
El propósito de este estilo de codificación es garantizar el tipo de datos (debido al encasillamiento al comparar PHP) y evitar errores cuando escribe en =lugar de ==.
Mejores técnicas PHP
Hay varias técnicas de codificación que se utilizan en proyectos para hacer que el código sea más óptimo y más fácil de leer y corregir. Algunas técnicas se basan en los siguientes puntos:
Consistencia
Se debe codificar con el mismo estilo para una función, clase o archivo, como en el siguiente ejemplo:
<? php if ($ args [ ‘etiqueta’ ]): ?>
< span class = «als-field__label» > <? php echo esc_html ($ args [ ‘etiqueta’ ]); ?> </ span > <? php endif ; ?> <? php if ($ args [ ‘prefijo’ ]) { echo ‘<span class = «als-field__prefix»>’ . esc_html ($ args [ ‘prefijo’ ]). ‘</span>’ ; }
Esto muestra la etiqueta y el prefijo. Aunque los estilos de codificación son diferentes, devuelven el mismo resultado. Por lo tanto, se deberían reescribirlos consistentemente de la siguiente manera:
if ( $ args [ ‘etiqueta’ ]) {
echo ‘<span class = «als-field__label»>’ , esc_html ( $ args [ ‘etiqueta’ ]), ‘</span>’ ; } if ( $ args [ ‘prefijo’ ]) { echo ‘<span class = «als-field__prefix»>’ , esc_html ( $ args [ ‘prefix’ ]), ‘</span>’ ; }
Pequeños bloques
Si los bloques condicionales son demasiado grandes, el código será muy difícil de leer y resultará más difícil seguir la lógica. Para solucionar este problema, se debe escribir pequeños bloques condicionales. Una de las técnicas para hacerlo es el «regreso temprano», es decir, regrese lo antes posible.
Por ejemplo, el siguiente código que no ha sido optimizado:
if ( ‘none’ ! == $ field [ ‘sanitize_callback’ ]) {
if (is_callable ($ field [ ‘sanitize_callback’ ]) {
$ valor = call_user_func ($ campo [ ‘sanitize_callback’ ], $ valor, $ args);
} else {
// un código muy largo
}
} return $ valor;
Cuando aplica esta técnica el código se reescribe de la siguiente manera:
if ( ‘ninguno’ === $ campo [ ‘sanitize_callback’ ]) {
devolver $ valor;
} if (is_callable ($ field [ ‘sanitize_callback’ ]) {
return call_user_func ($ field [ ‘sanitize_callback’ ], $ value, $ args);
} // un código muy largo. return $ value;
Valor predeterminado
Establecer el valor predeterminado ayuda a eliminar las declaraciones condicionales que verifican la existencia de ese valor, lo que hace que su código sea legible.
A continuación se muestra el código que no se ha optimizado:
if ( isset ($ args [ ‘prefix’ ]) && $ args [ ‘prefix’ ]! == » ) {
echo ‘ ‘ , esc_html ($ args [ ‘prefix’ ]), ‘ ‘ ;
} if ( isset ($ args [ ‘etiqueta’ ]) && $ args [ ‘etiqueta’ ]! == » ) {
echo ‘ ‘ , esc_html ($ args [ ‘etiqueta’ ]), ‘ ‘ ;
}
Después de establecer el valor predeterminado, el código se vuelve más legible:
$ args = wp_parse_args ($ args, [
‘prefijo’ => » ,
‘etiqueta’ => » ,
]); if ($ args [ ‘prefijo’ ]) {
echo ‘ ‘ , esc_html ($ args [ ‘prefijo’ ]), ‘ ‘ ;
} if ($ args [ ‘etiqueta’ ]) {
echo ‘ ‘ , esc_html ($ args [ ‘etiqueta’ ]), ‘ ‘ ;
}
Salida de múltiples valores
Cuando necesitamos generar una gran cantidad de textos, generalmente se codifica así:
echo ‘<span class = «als-field__prefix»>’ . esc_html ( $ args [ ‘prefijo’ ]). ‘</span>’ ;
Sin embargo, este enfoque no es tan óptimo como usar la función echo, la cual, permite pasar muchos parámetros a la vez, por lo que funciona más rápido que la función normal:
echo ‘<span class = «als-field__prefix»>’ , esc_html ( $ args [ ‘prefix’ ]), ‘</span>’ ;
Mejorar y optimizar el código es un tema importante para los programadores. Cuanto más limpio y legible sea su código, más eficiente será su trabajo en equipo. Además, será más fácil de manejar cuando haya un problema. Por lo tanto, es importante no olvidar aplicar técnicas que ayuden a obtener mejores resultados.
Leíste: Técnicas PHP para escribir código limpio y legible, te recomendamos: Frameworks más populares de PHP en 2020
Te invitamos a que nos sigas en nuestras redes sociales: Facebook, Twitter, Instagram y Youtube con el perfil: @tortugacode