Bibliotecas para plugins de WordPress, Parte 1
Cuanto más trabaje con WordPress, especialmente si emplea herramientas como Composer y similares, es más probable que encuentre ciertas bibliotecas, herramientas y cosas similares que forman la base de los proyectos en los que trabaja.
A veces puede encontrarlos al buscar en el código de otras personas, tal vez los encuentre al navegar por GitHub, o tal vez alguien con quien trabaje le sugiera una biblioteca (o algunas) dependiendo de un proyecto.
Personalmente, he tenido la experiencia de todo lo anterior, y cuanto más trabajo en la creación de soluciones para mí o para otros, más me encuentro estableciendo la misma base para cada proyecto (que suele ser un complemento de algún tipo) .
Bibliotecas para complementos de WordPress
Con ese fin, pensé que podría valer la pena compartir las bibliotecas que uso cuando construyo complementos de WordPress. El contenido se distribuirá en algunas publicaciones para que cada una sea breve y enfocada, pero tal vez encuentre algo que no haya usado anteriormente (o que mejore su uso actual).
Unidad PHP
Cualquiera que haya escrito código en cualquier lenguaje de programación probablemente esté familiarizado con cualquier tipo de biblioteca *Unit. En resumen, es una forma de escribir pruebas unitarias fácilmente.
Desde la página de inicio del proyecto :
PHPUnit es un marco de prueba orientado al programador para PHP. Es una instancia de la arquitectura xUnit para marcos de pruebas unitarias.
No soy alguien que necesariamente se suscriba a una cobertura de código del 100% (y ese es un tema para otra publicación), pero si va a escribir pruebas unitarias, entonces esta es la biblioteca de facto para probar su código.
GrumPHP
A lo largo de este año, podría decirse que GrumPHP se ha convertido en mi biblioteca favorita (aunque se ha mejorado con bibliotecas adicionales que cubriré a lo largo de esta serie de publicaciones).
Ya he hablado de ello en otros posts. Aunque se describe a sí mismo como una "herramienta de calidad de código", realmente no puede evitar ver los beneficios hasta que lo conecta para ver su código antes de intentar enviarlo a un repositorio.
La descripción más larga es:
Si las pruebas fallan, no podrá confirmar los cambios. Esta práctica herramienta no solo mejorará su base de código, sino que también enseñará a sus compañeros de trabajo a escribir mejor código siguiendo las mejores prácticas que han determinado como equipo.
Y, al igual que si hubiera estado empleando cualquier monitor de estándares de codificación en su IDE, esta es una de esas cosas que puede ser frustrante de usar al principio.
Pero a medida que lo aprende, se vuelve más fácil saber qué va a marcar, por lo que automáticamente comienza a escribir código que tiene un mayor nivel de calidad.
PHPMD
PHPMD (abreviatura de PHP Mess Detector) funciona bien junto con GrumPHP, ya que puede procesar su código antes de enviarlo a un repositorio.
El proyecto se describe a sí mismo como:
Toma una base de código fuente PHP dada y busca varios problemas potenciales dentro de esa fuente.
Al igual que con muchas bibliotecas similares, esta en particular puede configurar un conjunto de reglas para que pueda activar y desactivar fácilmente las cosas en función de lo que usted o su equipo prefieran.
Analizador de PHP
La idea de tener una configuración de biblioteca de analizador de PHP para analizar su código parece un poco meta, ¿verdad? Quiero decir, tiene el tiempo de ejecución de PHP haciendo eso, y muchos IDE también lo hacen, pero esto funciona de una manera ligeramente diferente.
Desde el repositorio:
Este es un analizador de PHP 5.2 a PHP 7.1 escrito en PHP. Su propósito es simplificar el análisis y la manipulación del código estático.
Para aquellos que están familiarizados con el funcionamiento de los lenguajes de programación (y, por lo tanto, de las gramáticas), la idea de hacer un análisis estático del código tendrá sentido.
Independientemente, esta es otra biblioteca más que ayuda a mejorar la calidad del código al reducir la complejidad del código.
Más por venir
Al final de la serie, compartiré cómo incorporar todo esto en un composer.jsonarchivo que puede usar en su proyecto.
Cuando está trabajando en una solución para un cliente, es posible que tenga que modificar las versiones de cada una de estas herramientas, pero encontrará que la mayoría de ellas ofrecen soporte desde PHP5.6 hasta PHP7.1.


