Una introducción a los estándares de codificación de WordPress PHP

La codificación hace que siga las reglas: cada idioma tiene su propia sintaxis para admitir si desea que su código sea compilado o enrollado. Pero hay otro conjunto de reglas que, aunque no es esencial para el rodamiento efectivo del código, ayuda en las partes periféricas del código. Estas reglas se denominan estándares de codificación. Los estándares de codificación son convenciones recomendadas para escribir el código. Cada idioma tiene su propio WordPress, y WordPress, como sistema, tiene su propia versión para cada uno de los idiomas utilizados para construirlo. WordPress tiene estándares de codificación para PHP, accesibilidad, CSS, HTML y JavaScript.
Este artículo se centrará en los estándares de codificación de PHP. Antes de abordar los estándares de codificación, es posible que desee mejorar el lenguaje PHP a través del tutorial de PHP para principiantes, el WordPress esencial para los desarrolladores de PHP o especialmente el eco de PHP. ¿Por qué seguir los estándares de codificación de WordPress? Puede preguntarse: ¿por qué querría participar en un conjunto completo de nuevas reglas que no son absolutamente necesarias para escribir el código de trabajo en WordPress? Bueno, esta es una gran pregunta y a la que la documentación de los estándares de codificación de WordPress respondió en su introducción:
Los estándares de codificación ayudan a evitar errores de codificación comunes, mejorar la legibilidad del código y simplificar la modificación. Se asegura que los archivos dentro del proyecto parezcan creados por una sola persona. Respetar los estándares significa que cualquiera podrá comprender una sección de código y modificarla, si es necesario, independientemente de cuándo fue escrito o por quién. Si tiene la intención de contribuir a WordPress Core, debe estar familiarizado con estos estándares, porque cualquier código que envíe deberá respetar. La documentación de los estándares de codificación de WordPress detrás de las reglas en este artículo, analizaremos algunos de los estándares de codificación e intentaremos comprender qué problema es resolver, es decir, cuál es la motivación detrás de estas reglas. Las categorías de motivaciones que aparecen en este artículo son: prevención de errores
Legibilidad
Mantenimiento más fácil
La consistencia del formato
Prevención de errores Cuando escribimos código, queremos que nuestros hábitos nos mantengan tanto como sea posible. Las siguientes reglas ayudan a este respecto.
El estilo de las correas: la convención más importante sobre las correas es que siempre deben usarse, incluso cuando no son necesarios. Esto se debe a que, si en el futuro el código se agrega a la instrucción que se ejecuta en el caso de la condición, no tendrá que recordar agregar aparatos ortopédicos alrededor de la instrucción completa: los aparatos ortopédicos ya estarán allí y todo lo que tiene que Agregue su código dentro de ellos.
Elimine los espacios finales: según los documentos de PHP, “Si un archivo contiene solo código PHP, es preferible omitir la etiqueta de cierre de PHP al final del archivo. Esto evita la adición accidental de espacios blancos o nuevas líneas después de la etiqueta de cierre de PHP, lo que puede causar efectos no deseados, porque PHP comenzará a amortiguar cuando el programador no tiene la intención de enviar ninguna salida en ese momento del script “. Aunque WordPress no prohíbe el uso de la etiqueta de cierre, requiere la eliminación de los espacios finales después de él. Formando las instrucciones SQL: cuando insertan los datos en la base de datos, la medida de seguridad más importante es la higiene de datos, es decir, asegurar que no se asegure de que no El código malo se ingresa intencional. La forma de hacerlo es deshacerse de los datos, y WordPress tiene algunas funciones que hacen esto. De acuerdo con los estándares de codificación de WordPress, el escape debe hacerse como cerca de la interrogación, preferiblemente usando $ wpdb-> preparar (). La documentación de los estándares de codificación envía al desarrollador a leer más sobre el escape en la validación de los datos en Codex.
Condiciones de Yoda: cuando codificamos una condición (if ($ x == 3)) que compara una variable con un valor, usamos un signo doble igual. Pero podríamos omitir fácilmente un signo igual, lo que daría como resultado atribuir el valor de la variable, que probablemente sea una consecuencia no deseada. El analizador de PHP no nos advertiría al respecto, porque es perfectamente legal, incluso si no es deseable, hacer esto. Una buena manera de evitar tal error es poner siempre la variable a la derecha y poner llamadas constantes, literal o de función en el lado izquierdo. De esta manera, omitir accidentalmente un signo igual, obtendrá un error de análisis, porque no puede atribuir a una constante. Este tipo de condición se llama condiciones de yoda, y los estándares de codificación de WordPress le piden que escriba sus condiciones de esta manera. Litibilidad que es más fácil de leer que cuando lee el código que no ha escrito, puede escanear fácilmente y puede concentrarse en lo que Lo hace, en lugar de tratar de descifrar dónde comienza y dónde termina, debe superar los problemas de alineación y superar otras cosas que lo distraen. asuntos.
Definición de matrices: se puede crear una matriz utilizando la construcción de Array (). Pero hay una sintaxis de matriz corta que reemplaza a Array () con []. Los estándares de codificación de WordPress recomiendan el uso de una larga sintaxis de matriz, ya que generalmente es más legible que la sintaxis de matriz corta, especialmente para aquellos con visualización. Además, es mucho más descriptivo para los principiantes.
La regla de abrir y cerrar las etiquetas PHP está ahí para mejorar la legibilidad. Las reglas requieren que al incorporar fragmentos PHP con múltiples líneas en un bloque HTML, las etiquetas de apertura y cierre de PHP deben estar en una línea independiente. La aplicación de esta regla ayuda a seguir la intercalación de PHP en HTML y notar rápidamente si falta alguna etiqueta PHP. Usilizar el ELSIF, no elsef – PHP permite dos tipos de sintaxis para las estructuras de control (si, mientras, para, foreach y conmutador). El primer tipo es el habitual, usando correas de apertura y cierre. El segundo se llama sintaxis alternativa para las estructuras de control, lo que significa que la forma básica de esta sintaxis es cambiar el brazalete de apertura de dos puntos (:) y la rama de cierre en endif; , , endfor; , EndForeach; , o endswitch; , respectivamente. Debido a que los estándares de codificación de WordPress permiten el uso de sintaxis alternativa y que la sintaxis no es compatible con ELSIF, los estándares de codificación de WordPress dictan el uso de Elsef, no de lo contrario si siempre es compatible con ambos tipos de sintaxis de estructuras de control.
Convenciones de nombre: El objetivo principal de las convenciones de nombre es reducir el esfuerzo necesario para leer y comprender el código fuente (puede encontrar otros objetivos aquí). Por lo tanto, las reglas específicas no importan: lo que importa es que todos las respeten,
letras minúsculas en nombres de variables, acciones/filtro y funciones y palabras separadas por letras subrayadas.
Los nombres de las clases deben usar palabras supercase y separadas subrayando guiones.
Las constantes deben estar escritas en mayúsculas, con caracteres subrayadores que separan las palabras. Convenciones de nombre de archivo.
Los valores de señal de autoexplícito para los argumentos de función-php no aceptan argumentos llamados (las llamadas de función que indican claramente el nombre de cada parámetro en la llamada de función) y, por lo tanto, cuando vemos una llamada de función, no sabemos Lo que significan los valores en él si no buscamos la definición de función. El código puede ser más fácil de leer utilizando los valores de las cadenas descriptivas, en lugar de boolean. Por ejemplo, la definición de los argumentos de una función de la siguiente manera: función Eat ($ what, $ speed = ‘lentamente’) resulta en llamadas claras: comer (‘hongos’, ‘lentamente’); . Esto es más claro que esta definición de función: function Eat ($ what, $ lentamente = true) porque su función de la función usa un valor booleano: comer (‘hongos’, true); Lo cual no está claro si no recuerda la definición de función.
Los estándares de codificación permiten el uso de operadores ternarios, pero limitan su uso para probarlos si la declaración es verdadera, no falsa. De lo contrario, simplemente se confunde. (¡Una excepción sería el uso! Vacío () porque las pruebas de falsificación aquí generalmente son más intuitivas).
No se utiliza un código inteligente: esta regla cubre una gran cantidad de tierra, con muchos ejemplos de código, cuyo denominador común es que es breve, pero confundido. Los estándares de codificación de WordPress siempre preferirán la legibilidad en lugar de la inteligencia o la concisa. El código inteligente incluye cosas como
usando || operador para verificar la existencia de una variable,
comparaciones gratuitas (un signo doble igual (==) en lugar de un signo triple igual (===)), colocando tareas en condición,
GOTO -te a las declaraciones,
la construcción eval (),
La función creada_function () un código “inteligente” que está permitido, aunque debe comentar explícitamente, está en una instrucción de cambio, está bien que los casos más vacíos caigan en un bloque común. Si un caso contiene un bloque, luego pase al siguiente bloque.
Formateo de instrucciones SQL: otra regla con respecto a las instrucciones SQL es que cuando formatea las instrucciones SQL, puede dividirlas varias veces e identificar si es lo suficientemente complejo como para justificarlo. La mayoría de las declaraciones funcionan bien en una sola línea. Siempre escriba partes SQL mayúsculas de la instrucción, como actualización o dónde.
Mantenimiento más fácil
Se permiten funciones anónimas, simplemente no deben aprobarse como un filtro o acción inversa, porque no pueden eliminarse por eliminación_accion () / remove_filter ().
Las versiones PHP más antiguas no aceptan etiquetas de mierda PHP y, por lo tanto, no permiten tales etiquetas.
La interpolación para el nombre de los ganchos dinámicos-dinámicos son ganchos que incluyen valores dinámicos en el nombre de la etiqueta, por ejemplo {$ new_status} _ {$ post-> post_type} (publish_post). Estos ganchos deben construirse insertando las variables entre las constantes y no por su concatenación como cadenas. Los estándares de codificación de WordPress explican exactamente cómo construirlos técnicamente, pero también agregan una regla en términos de contenido: que cuando sea posible, los valores dinámicos en nombre de las etiquetas deben tener lo más exitoso posible. $ user_id es mucho más autodocumentado que, por ejemplo, $ this-> id. Operador de control de errores @-
Como se menciona en los documentos PHP:
PHP acepta un operador de control de errores: el signo en (@). Cuando se agrega a una expresión en PHP, se ignorará cualquier mensaje de error que podría generarse por esa expresión. Aunque este operador existe en el núcleo, a menudo se usa perezoso en lugar de verificar los errores correctamente. Su uso es extremadamente desanimado porque incluso los documentos de PHP indican:
No extraer () -extract es una función que importa variables en la tabla de símbolos actuales en una matriz. Esto significa que, después de su uso, se ingresan de repente nuevas variables, sin obvios como han aparecido. Hace que el código sea más difícil de solucionar y más difícil de entender, como lo desarrolla Joseph Scott.
Algunas reglas están ahí para hacer que el código se vea coherente para todos los desarrolladores y plataformas de desarrollo. Estas son reglas sin las cuales, por un lado, podemos vivir perfectamente y no pasaría nada al código, pero si no existieran, cada desarrollador podría tomar sus propias decisiones sobre el formato del código, pero entonces el código se vería diferente entre desarrolladores. Aunque tales diferencias no son innovadoras, aún pueden causar molestias, por ejemplo, cuando comparamos 2 versiones del mismo archivo, etc. Por lo tanto, en nombre del código consisten, los estándares de codificación de WordPress lo eximen de tener que tomar esas decisiones, simplemente aplique las reglas y no piense. Formando consistencia o eliminación de decisiones
En el caso de usar citas simples o dobles, los estándares de codificación de WordPress dicen que si no evalúa nada en la cadena, use citas simples. También le aconseja que casi nunca tiene que escapar de las citas en una cadena, porque solo puede alternar el estilo de cita, de la siguiente manera: echo ‘<a href = "/static/link" title = "eh y sí !! enlace ‘echo ” $ linkname “;
En la famosa guerra de Tabs-Vs-Spaces, que realmente no tiene consecuencias (incluso si el protagonista de Silicon Valley rompió con una niña sobre él), la regla básica de los estándares de codificación de WordPress es que las pestañas deben usarse en la línea inicial para sangría, mientras que los espacios se pueden usar en el medio de la línea para su alineación. La posición de las correas debe estar en la misma línea que el orden que las desencadena.
En cuanto a las llamadas a la función multilinie, de hecho no hay impacto en el rodamiento de código, cada parámetro debe estar en una línea separada. Los comentarios en línea en una sola línea pueden ocupar su propia línea. El estándar de codificación le hace eliminar los espacios blancos al final de cada línea de código.
La ubicación de los espacios no tiene otro impacto que la limpieza, pero hay muchas reglas con respecto al uso de espacios después de la coma, en ambos lados de los operadores, en ambos lados del soporte de apertura y cierre y muchos otros casos que se detallan aquí.

Formateo de instrucciones SQL: siempre escriba las partes SQL de las instrucciones, como la actualización o dónde.
Expresiones regulares: hay 2 sintaxis estandarizadas para expresiones regulares: la posible (POSAX en la interfaz del sistema operativo portátil, lo que significa que tiene el propósito de mantener la compatibilidad entre los sistemas operativos) y el PCRE (PCRE de las expresiones regulares compatibles con PERL ). Los estándares de codificación de WordPress dicen que el método preferido es el indicado. Además, dice que nunca debe usar el conmutador /e, usar en lugar de preg_replace_callback; También continúa explicando por qué debe usar cadenas simples para expresiones regulares.
Cómo integrar los estándares de codificación de WordPress en su rutina de codificación Por supuesto, nadie espera recordar todas estas reglas al escribir código. La mejor manera de integrarlos es a través de su IDE, y si esto no es posible, entonces a través de un PhP_CodesNiffer de externalphp_codesniffer toca los archivos PHP, JavaScript y CSS para detectar y remediar las violaciones de un conjunto definido de estándares de COD. Aquí están los estándares de codificación de WordPress para PhP_Codesniffer Integrate PhpStorm Sala de codificación Aquí hay recursos que le guían cómo integrar los estándares de codificación de WordPress: PhpStorm:
Instalar PHP Codesniffer
Instale la asistencia de codificación específica de WordPress
Instale fácilmente los estándares de codificación de WordPress en phpstorm
VS VS Code Code también tiene una forma de configurar los estándares de codificación de WordPress para su sitio, tema o complemento utilizando el código VS.
Resumen En este artículo revisamos algunos de los estándares de codificación de WordPress con respecto al PHP, para comprender mejor de dónde provienen, cuáles son sus objetivos y por qué debemos respetar este artículo no es en ningún caso una presentación exhaustiva de los estándares de codificación de WordPress. Recomiendo de todo corazón que saltee los estándares de codificación de WordPress PHP y revele todos sus secretos.

Copyright statement: Unless otherwise noted, this article is Collected from the Internet, please keep the source of the article when reprinting.

Check Also

gkOVSBm5B8SgiXmo

Shopify vs WooCommerce – ¿Cuál es la mejor plataforma?(Comparación)

Shopify vs WooCommerce

Leave a Reply

Your email address will not be published. Required fields are marked *