{"id":230003,"date":"2022-11-25T20:07:00","date_gmt":"2022-11-25T17:07:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=230003"},"modified":"2022-11-25T20:35:57","modified_gmt":"2022-11-25T17:35:57","slug":"uso-de-los-estandares-de-codificacion-de-php-en-el-codigo-de-visual-studio","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/es\/uso-de-los-estandares-de-codificacion-de-php-en-el-codigo-de-visual-studio\/","title":{"rendered":"Uso de los est\u00e1ndares de codificaci\u00f3n de PHP en el c\u00f3digo de Visual Studio"},"content":{"rendered":"\n<p>As\u00ed que tenemos los conceptos b\u00e1sicos configurados en Visual Studio Code, pero no tenemos ninguna herramienta pr\u00e1ctica instalada que nos ayude con el lado m\u00e1s profesional de escribir c\u00f3digo.<\/p>\n<p>Por supuesto, &quot;profesional&quot; se puede definir en funci\u00f3n de la empresa, el equipo o el entorno en el que est\u00e1 trabajando. Para esta serie, opt\u00e9 por usar WordPress como base. Pero eso a\u00fan deja cosas como:<\/p>\n<ul>\n<li>est\u00e1ndares de codificaci\u00f3n,<\/li>\n<li>pelusa de JavaScript,<\/li>\n<li>gesti\u00f3n de paquetes,<\/li>\n<li>Y as\u00ed.<\/li>\n<\/ul>\n<p>Y a lo largo de la serie, cubrir\u00e9 todo lo mencionado anteriormente. Pero para hacerlo, voy a cubrir cada componente uno por uno.<\/p>\n<p>La publicaci\u00f3n de hoy se centrar\u00e1 en los est\u00e1ndares de codificaci\u00f3n de PHP. He escrito mucho material sobre los est\u00e1ndares de codificaci\u00f3n de WordPress, pero en el \u00faltimo a\u00f1o o m\u00e1s, comenc\u00e9 a trabajar m\u00e1s con PSR, y eso es lo que se tratar\u00e1 en esta publicaci\u00f3n.<\/p>\n<p>Como nota al margen, sepa que gran parte de lo que se cubre se puede traducir a los est\u00e1ndares de codificaci\u00f3n de WordPress si as\u00ed lo desea, y quedar\u00e1 claro d\u00f3nde har\u00eda los cambios.<\/p>\n<p>Dicho esto, comencemos.<\/p>\n<h2>Est\u00e1ndar de codificaci\u00f3n PHP en Visual Studio Code<\/h2>\n<p>Primero, aseg\u00farese de tener los requisitos previos, todos los cuales est\u00e1n cubiertos en publicaciones anteriores de esta serie. A saber:<\/p>\n<ol>\n<li><a href=\"https:\/\/wordpress.mediadoma.com\/es\/un-ide-para-el-desarrollo-de-wordpress-independientemente-de-la-experiencia\/\" title=\"Un IDE para el desarrollo de WordPress\">Un IDE para el desarrollo de WordPress<\/a><\/li>\n<li><strong><a href=\"https:\/\/wordpress.mediadoma.com\/es\/trabajar-con-la-configuracion-de-usuario-en-visual-studio-code\/\" title=\"Trabajar con la configuraci\u00f3n de usuario en Visual Studio Code\">Trabajar con la configuraci\u00f3n de usuario en Visual Studio Code<\/a><\/strong><\/li>\n<\/ol>\n<p>Cada uno de los anteriores explica c\u00f3mo instalar, configurar y administrar Visual Studio Code y los conceptos b\u00e1sicos para comprender la configuraci\u00f3n del usuario (junto con las fuentes preferidas y similares).<\/p>\n<p>Y con eso, es hora de instalar la compatibilidad con el rastreo de c\u00f3digo y las reglas para los estilos de codificaci\u00f3n PHP basados \u200b\u200ben <strong><a href=\"https:\/\/www.php-fig.org\/psr\/psr-2\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">PSR-2<\/a><\/strong>.<\/p>\n<p>[restringir pagado=&quot;verdadero\u00bb]<\/p>\n<p>Antes de decirle a Code que desea usar este conjunto particular de reglas, hay algunas cosas que puede agregar a su archivo de configuraci\u00f3n.<\/p>\n<h3>1 Una actualizaci\u00f3n de su configuraci\u00f3n de usuario<\/h3>\n<p>Recuerde, para actualizar su Configuraci\u00f3n de usuario, simplemente haga clic en <strong>C\u00f3digo<\/strong> y luego vaya a <strong>Configuraci\u00f3n<\/strong>, o puede usar el acceso directo <strong>Cmd+<\/strong> (o el equivalente en su sistema operativo).<\/p>\n<p>Esto abrir\u00e1 una ventana familiar:<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-164430-61e7651f87631.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-164430-61e7651f87631.png\" alt=\"Uso de los est\u00e1ndares de codificaci\u00f3n de PHP en el c\u00f3digo de Visual Studio\"><\/a><\/p>\n<p>A continuaci\u00f3n, emita el siguiente comando en su terminal:<\/p>\n<pre><code>$ brew install php-code-sniffer<\/code><\/pre>\n<p>Tenga en cuenta que cuando hago esto, ya lo tengo instalado, pero se me solicita que actualice (as\u00ed que lo tengo).<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-164430-61e76523859b2.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-164430-61e76523859b2.png\" alt=\"Uso de los est\u00e1ndares de codificaci\u00f3n de PHP en el c\u00f3digo de Visual Studio\"><\/a><\/p>\n<p>Y luego, dentro de \u00e9l, puede agregar <strong><a href=\"https:\/\/gist.github.com\/tommcfarlin\/0631fb0f5d276d49d015bb4acc1ea500#file-00-user-settings-for-php-json\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">las siguientes l\u00edneas<\/a><\/strong> a su archivo de configuraci\u00f3n de usuario:<\/p>\n<pre><code>{\n  \/\/ ...\n\n  \/\/ PHP Settings.\n  \"php.suggest.basic\": true,\n  \"php.validate.executablePath\": \"\/usr\/local\/bin\/php\",\n  \"php.validate.run\": \"onSave\",\n\n  \/\/ ...\n}<\/code><\/pre>\n<p>Si no est\u00e1 seguro de la ruta a su instalaci\u00f3n local de PHP, puede ejecutar el siguiente comando en su terminal:<\/p>\n<pre><code>$ which php<\/code><\/pre>\n<p>Esto es lo que describe cada l\u00ednea:<\/p>\n<ol>\n<li><strong>php.suggest.basic.<\/strong> Esto controla si el IDE har\u00e1 sugerencias para el c\u00f3digo basado en PHP por s\u00ed mismo (lo cual es \u00fatil cuando se escribe c\u00f3digo). Piense en esto como autocompletar, un vistazo a la API, o como lo llamen sus IDE actuales o anteriores.<\/li>\n<li><strong>php.validar.ejecutablePath.<\/strong> Esto simplemente hace referencia al binario de PHP en el disco. Esto es \u00fatil para ejecutar la versi\u00f3n de PHP con la que se ejecutan sus proyectos.<\/li>\n<li><strong>php.validar.ejecutar.<\/strong> Como es de esperar, esto validar\u00e1 su c\u00f3digo cuando guarde su archivo. Puede hacerlo mientras escribe, pero dependiendo de cu\u00e1nto escriba, qu\u00e9 tan r\u00e1pido escriba o simplemente la naturaleza de sus h\u00e1bitos, puede ser m\u00e1s f\u00e1cil hacerlo en <strong>Guardar<\/strong> (por eso lo uso en lugar de la alternativa que es <strong>onType<\/strong> ).<\/li>\n<\/ol>\n<p>Todo esto es bueno y necesario, en mi opini\u00f3n, pero no nos permite olfatear ning\u00fan c\u00f3digo. As\u00ed que dirijamos nuestra atenci\u00f3n a eso ahora.<\/p>\n<h3>2 Adici\u00f3n de rastreo de c\u00f3digo<\/h3>\n<p>Recuerde de la secci\u00f3n anterior, segu\u00ed adelante e instal\u00e9 PHP Code Sniffer a trav\u00e9s de Homebrew, pero \u00bfc\u00f3mo agregamos soporte a esto a trav\u00e9s de Visual Studio Code?<\/p>\n<p>Quiero decir, tiene su propio mercado donde podemos agregarlo, pero \u00bfhay otras cosas que podamos hacer? Ya que lo instalamos a trav\u00e9s de Homebrew, est\u00e1 listo.<\/p>\n<p>Ahora es cuesti\u00f3n de vincularlo a Code. Esto es cuesti\u00f3n de hacer dos cosas:<\/p>\n<ol>\n<li>Instalar un complemento en Code,<\/li>\n<li>Actualizando su configuraci\u00f3n de usuario (una vez m\u00e1s).<\/li>\n<\/ol>\n<p>Primero, navegue a la pantalla de complementos en C\u00f3digo y luego busque <strong>phpcs<\/strong>. Deber\u00edas ver algo como lo siguiente:<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-164430-61e7652770779.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-164430-61e7652770779.png\" alt=\"Uso de los est\u00e1ndares de codificaci\u00f3n de PHP en el c\u00f3digo de Visual Studio\"><\/a><\/p>\n<p>Haga clic en <strong>Instalar<\/strong> y luego en <strong>Recargar<\/strong> si se le solicita que lo haga.<\/p>\n<p>A continuaci\u00f3n, volvemos a visitar nuestro archivo de configuraci\u00f3n <strong><a href=\"https:\/\/gist.github.com\/tommcfarlin\/0631fb0f5d276d49d015bb4acc1ea500#file-01-user-settings-for-phpcs-json\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">y agregamos lo siguiente:<\/a><\/strong><\/p>\n<pre><code>{\n  \/\/ ...\n\n  \/\/ PHP Coding Standards.\n  \"phpcs.enable\": true,\n  \"phpcs.executablePath\": \"\/usr\/local\/bin\/phpcs\",\n  \"phpcs.standard\": \"PSR2\"\n\n  \/\/ ...\n}<\/code><\/pre>\n<p>En este punto, ya ha terminado de configurar los est\u00e1ndares de codificaci\u00f3n PHP PSR-2 con Visual Studio Code.<\/p>\n<h3>3 Ahora pru\u00e9balo<\/h3>\n<p>Para ver si todo funciona correctamente, abra cualquier archivo PHP, ya sea uno de un proyecto en el que est\u00e9 trabajando o uno del n\u00facleo de WordPress. Abra el terminal integrado. Dado que el n\u00facleo de WordPress no sigue a PSR-2, es probable que vea muchos errores.<\/p>\n<p>Consulte la pesta\u00f1a <strong>Problemas<\/strong> en la terminal y observe:<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-164430-61e7652c067ab.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-164430-61e7652c067ab.png\" alt=\"Uso de los est\u00e1ndares de codificaci\u00f3n de PHP en el c\u00f3digo de Visual Studio\"><\/a><\/p>\n<p>Por supuesto, esto no pretende castigar a WordPress. En su lugar, est\u00e1 destinado a mostrar que cuando ve un problema proveniente de PHP Code Sniffer, puede solucionarlo antes de guardar el archivo, completarlo o enviarlo al repositorio.<\/p>\n<h2>\u00bfQu\u00e9 pasa con el trabajo de front-end?<\/h2>\n<p>Tan importante como es asegurarse de que nuestro c\u00f3digo tenga la calidad adecuada del trabajo del lado del servidor, \u00bfqu\u00e9 pasa con CSS (o Sass o LESS) o JavaScript?<\/p>\n<p>Tambi\u00e9n hay herramientas espec\u00edficas para eso, y vamos a continuar cubriendo ese material en la pr\u00f3xima publicaci\u00f3n.<\/p>\n<p>Por ahora, conc\u00e9ntrese en configurar los est\u00e1ndares de codificaci\u00f3n de PHP en el c\u00f3digo, compruebe lo que puede hacer mejor para mejorar sus estilos y partiremos de ah\u00ed.<\/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>Aqu\u00ed, cubrir\u00e9 c\u00f3mo usar Homebrew para instalar las bibliotecas necesarias para PHP Code Sniffer y las reglas de PSR-2 que se ejecutan en Visual Studio Code.<\/p>\n","protected":false},"author":1,"featured_media":236519,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[716,840,1063],"tags":[1172],"class_list":["post-230003","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-desarrollador","category-tutoriales","category-un-ordenador","tag-affiai-es"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/posts\/230003","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=230003"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/posts\/230003\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/media\/236519"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/media?parent=230003"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/categories?post=230003"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/tags?post=230003"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}