Compositor para WordPress, Parte 1
Bien, después de hablar sobre todas las diversas bibliotecas que pueden ayudar a mejorar la calidad del código de su trabajo, todavía surge una pregunta:
¿Cómo hacemos que estos proyectos funcionen en nuestra base de código?
En resumen, requiere Composer. Si nunca lo ha usado, he escrito brevemente sobre él antes, pero tengo la intención de brindarle los conceptos básicos de lo que necesita para comenzar a usarlo y las bibliotecas mencionadas anteriormente en su trabajo.
Tanto en esta publicación como en la siguiente, compartiré cómo configurar todo localmente de la forma más básica y luego cómo se integra con Git para que puedas comenzar a usarlo en tu día a día.
Configuración de Composer para WordPress
Hay mucha información que puede (y diría que debería ir en un archivo para Composer). Esto incluye cosas como la información del autor, PSR, información, etc. Pero eso realmente va más allá del alcance de esta publicación. En cambio, quiero compartir lo mínimo necesario sobre cómo configurar y configurar esta información.
Un directorio de muestra
Suponga que, por un momento, está a punto de comenzar a trabajar en un complemento o algo relacionado con WordPress que requerirá las diversas bibliotecas discutidas en la serie anterior. Y al configurar el directorio para esto, tendrá muy pocos archivos. Puede haber un par de archivos PHP vacíos, activos, etc. Tal vez se verá así:
Por supuesto, el ejemplo anterior ya está un poco por delante de cómo se verá su trabajo porque:
- Hay un
composer.lockarchivo que muestra que se ha ejecutado Composer, - Tiene un
vendordirectorio que muestra que las bibliotecas se han instalado a través de Composer, - Hay un
grumphp.ymlarchivo que define cómo debería funcionar GrumPHP (y lo cubriré más adelante) al olfatear el código.
Pero la esencia de lo anterior es la misma: tienes composer.jsony define e incluye todo lo que necesitamos según la publicación anterior. Entonces, ¿cómo lo configuramos?
Configuración del compositor
Primero, debe tener una idea de cómo va a estructurar su complemento. Por ejemplo, tengo una configuración de complemento como esta:
- Todos los archivos PHP residen en el
srcdirectorio, - Todos los archivos CSS, JavaScript, imágenes, etc., están en el
assetsdirectorio, - El
vendordirectorio es para las cosas que se instalan a través de Composer, viewses lo que se usa en el front-end del proyecto.
Por ejemplo:
En segundo lugar, en el directorio en cuestión, querrá crear un archivo llamado composer.json. Esto se puede hacer a través de la Terminal simplemente emitiendo un touch comando, o puede crearlo en su IDE.
Lo importante que hay que sacar de esto es que hay un src directorio porque ese es el directorio que incluye nuestros archivos PHP y ese es el directorio que queremos haber rastreado.
Un archivo de compositor básico
Dicho esto, aquí hay un composer.jsonarchivo básico que puede usar en sus proyectos basado en la serie anterior y en lo que se comparte a continuación:
{
"name": "pressware/demo-wordpress-plugin",
"description": "This file is used to show how to configure a WordPress plugin using Composer.",
"autoload": {
"psr-4": {
"Pressware": "src/"
}
},
"require-dev": {
"phpro/grumphp": "^0.11.6",
"phpmd/phpmd": "^2.6",
"phpunit/phpunit": "5.7.21",
"nikic/php-parser": "^3.0",
"sebastian/phpcpd": "^3.0",
"povils/phpmnd": "^1.1",
"squizlabs/php_codesniffer": "^3.0",
"jakub-onderka/php-parallel-lint": "^0.9.2",
"sensiolabs/security-checker": "^4.0"
}
}
Mirando el archivo de arriba, aquí está cómo analizarlo:
- Las líneas 2 y 3 dan una pequeña descripción de lo que se trata el complemento. Esas son también otras áreas en este archivo para brindar más información sobre lo que se debe hacer.
- Las líneas 4 a 8 son importantes porque explican que estamos usando PSR-4 para la carga automática y que todos los archivos se encuentran en el espacio de nombres de nivel superior
Presswarey que los archivos PHP están en elsrcdirectorio. - Las líneas 9 a 18 cubren todos los archivos que cubrieron en la serie anterior.
A continuación, emita el siguiente comando en su terminal:
$ composer install
Y eso instalará estos paquetes.
¿Qué pasa con los compromisos?
Para asegurarse de que está eliminando y manejando correctamente las confirmaciones, es importante que configure GrumPHP para que esté observando los archivos. Pero le echaré un vistazo en el próximo post.
Mientras tanto, tal vez esta sea una buena oportunidad para configurar un complemento de demostración y practicar con el código anterior. Configurarlo correctamente la primera vez puede ser difícil. Afortunadamente, muchos de los errores de salida son realmente fáciles de entender, por lo que es relativamente sencillo resolverlos.