{"id":231399,"date":"2022-12-29T11:53:00","date_gmt":"2022-12-29T08:53:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=231399"},"modified":"2022-12-25T22:16:44","modified_gmt":"2022-12-25T19:16:44","slug":"agregar-multiples-estandares-de-codificacion-con-composer","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/es\/agregar-multiples-estandares-de-codificacion-con-composer\/","title":{"rendered":"Agregar m\u00faltiples est\u00e1ndares de codificaci\u00f3n con Composer"},"content":{"rendered":"<p>Una cosa es usar <a href=\"https:\/\/tommcfarlin.com\/php-codesniffer-in-visual-studio-code\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">PHP CodeSniffer<\/a> manualmente, pero si est\u00e1 usando una utilidad como <a href=\"https:\/\/github.com\/phpro\/grumphp\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">GrumPHP<\/a> para verificar su trabajo antes de enviarlo al repositorio, es probable que desee usar la versi\u00f3n que est\u00e1 instalando con su proyecto.<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-159611-61e6f8881ef53.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-159611-61e6f8881ef53.png\" alt=\"Agregar m\u00faltiples est\u00e1ndares de codificaci\u00f3n con Composer\" ><\/a><\/p>\n<p>Esto supone que:<\/p>\n<ol>\n<li>Est\u00e1 instalando PHP CodeSniffer localmente en su proyecto,<\/li>\n<li>Desea instalar un conjunto espec\u00edfico de est\u00e1ndares de codificaci\u00f3n para ejecutar en su c\u00f3digo.<\/li>\n<\/ol>\n<p>Recuerde, esto tambi\u00e9n se hace en el contexto de querer ejecutar scripts automatizados durante el proceso de confirmaci\u00f3n y en un entorno local (frente a una configuraci\u00f3n global) con Composer.<\/p>\n<p>Composer ofrece la posibilidad de escribir scripts durante la ejecuci\u00f3n. <a href=\"https:\/\/getcomposer.org\/doc\/articles\/scripts.md\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Del manual<\/a> :<\/p>\n<blockquote>\n<p>Una secuencia de comandos, en t\u00e9rminos de Composer, puede ser una devoluci\u00f3n de llamada de PHP (definida como un m\u00e9todo est\u00e1tico) o cualquier comando ejecutable de la l\u00ednea de comandos. Los scripts son \u00fatiles para ejecutar el c\u00f3digo personalizado de un paquete o los comandos espec\u00edficos del paquete durante el proceso de ejecuci\u00f3n de Composer.<\/p>\n<\/blockquote>\n<p>Para instalar m\u00faltiples est\u00e1ndares de codificaci\u00f3n con Composer para que podamos hacer lo que hacemos con GrumPHP y cualquier proceso de confirmaci\u00f3n previa, debemos aprovechar los scripts <strong>pre-install-cmd<\/strong> y <strong>pre-update-cmd<\/strong>. Hacer esto garantizar\u00e1 que se establezcan los est\u00e1ndares de codificaci\u00f3n adecuados para el binario de nivel de proyecto de PHP CodeSniffer.<\/p>\n<p><a href=\"https:\/\/gist.github.com\/tommcfarlin\/e58bd797d53cdaeb659a2e09db0b5725#file-00-add-php-cs-json\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Caso en cuesti\u00f3n<\/a> :<\/p>\n<pre><code>\"scripts\": {\n    \"post-install-cmd\": [\n        \"\"vendor\/bin\/phpcs\" --config-set installed_paths \/Users\/tommcfarlin\/Sync\/Projects\/wpcs\/WordPress\"\n    ],\n    \"post-update-cmd\":  [\n        \"\"vendor\/bin\/phpcs\" --config-set installed_paths \/Users\/tommcfarlin\/Sync\/Projects\/wpcs\/WordPress\"\n    ],\n},<\/code><\/pre>\n<p>Tenga en cuenta que en el ejemplo anterior, me aseguro de agregar los est\u00e1ndares de codificaci\u00f3n de WordPress a PHP CodeSniffer.<\/p>\n<p>Pero puede agregar m\u00faltiples versiones de est\u00e1ndares de codificaci\u00f3n, <a href=\"https:\/\/gist.github.com\/tommcfarlin\/e58bd797d53cdaeb659a2e09db0b5725#file-01-add-php-cs-json\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">como esta:<\/a><\/p>\n<pre><code>\"scripts\": {\n    \"post-install-cmd\": [\n        \"\"vendor\/bin\/phpcs\" --config-set installed_paths \/Users\/tommcfarlin\/Sync\/Projects\/wpcs\/WordPress-Core,\/Users\/tommcfarlin\/Sync\/Projects\/wpcs\/WordPress-VIP\"\n    ],\n    \"post-update-cmd\":  [\n        \"\"vendor\/bin\/phpcs\" --config-set installed_paths \/Users\/tommcfarlin\/Sync\/Projects\/wpcs\/WordPress-Core,\/Users\/tommcfarlin\/Sync\/Projects\/wpcs\/WordPress-VIP\"\n    ],\n},<\/code><\/pre>\n<p>Y puede agregar cualquier otro est\u00e1ndar que tenga que le permita apuntar el script en la ubicaci\u00f3n adecuada donde est\u00e1n instalados.<\/p>\n<p>Una vez que lo haga, los est\u00e1ndares se aplicar\u00e1n a PHP CodeSniffer y se ejecutar\u00e1n durante los procesos de <strong>instalaci\u00f3n<\/strong> y <strong>actualizaci\u00f3n<\/strong> de Composer.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fuente de grabaci\u00f3n:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/tommcfarlin.com\" class=\"external external_icon\">tommcfarlin.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Para instalar m\u00faltiples est\u00e1ndares de codificaci\u00f3n con Composer, debemos aprovechar los scripts pre-install-cmd y pre-update-cmd.<\/p>\n","protected":false},"author":1,"featured_media":223641,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[892,716,747,800,779,840],"tags":[1172],"class_list":["post-231399","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-codigo","category-desarrollador","category-fuente-abierta","category-php-2","category-software-de-codigo-abierto","category-tutoriales","tag-affiai-es"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/posts\/231399","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/comments?post=231399"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/posts\/231399\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/media\/223641"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/media?parent=231399"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/categories?post=231399"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/tags?post=231399"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}