{"id":26721,"date":"2021-04-28T17:05:00","date_gmt":"2021-04-28T14:05:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=26721"},"modified":"2021-10-17T17:51:36","modified_gmt":"2021-10-17T14:51:36","slug":"php_codesniffer-una-biblioteca-para-mejorar-sus-estandares-de-codificacion-php","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/es\/php_codesniffer-una-biblioteca-para-mejorar-sus-estandares-de-codificacion-php\/","title":{"rendered":"PHP_CodeSniffer: una biblioteca para mejorar sus est\u00e1ndares de codificaci\u00f3n PHP"},"content":{"rendered":"<p>\u00bfQuiere mejorar sus est\u00e1ndares de codificaci\u00f3n PHP? Obviamente, s\u00ed. No importa si es un desarrollador PHP m\u00e1s nuevo o experimentado, todos desean mejorar sus est\u00e1ndares de codificaci\u00f3n.<\/p>\n<p>\u00bfPero c\u00f3mo?<\/p>\n<p>Bueno, hay varios recursos disponibles en Internet que puede leer y comenzar a implementar.<\/p>\n<p>Hay una soluci\u00f3n m\u00e1s que no requiere leer sobre codificaci\u00f3n est\u00e1ndar. En cambio, le brinda sugerencias para mejorar el tiempo de ejecuci\u00f3n de sus est\u00e1ndares al buscar en su archivo PHP. De esta manera es mejor, ya que obtendr\u00e1 una sugerencia clara junto con el n\u00famero de l\u00ednea.<\/p>\n<h3>Introducci\u00f3n a PHP_CodeSniffer<\/h3>\n<p>Como sugiere el nombre, <a href=\"https:\/\/github.com\/squizlabs\/PHP_CodeSniffer\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">PHP_CodeSniffer<\/a> huele el c\u00f3digo en sus archivos o carpetas. Dondequiera que huela el c\u00f3digo incorrecto, le informa d\u00f3nde est\u00e1 el c\u00f3digo incorrecto y qu\u00e9 pasos debe seguir para corregirlo. PHP_CodeSniffer act\u00faa como su verificador de c\u00f3digo PHP.<\/p>\n<p>Es una biblioteca muy recomendada para un programador PHP. Mientras trabaja en un proyecto PHP, no debe entregar su c\u00f3digo al cliente final hasta que haya terminado con los est\u00e1ndares de codificaci\u00f3n PHP sugeridos por PHP_CodeSniffer.<\/p>\n<p>Despu\u00e9s de todo, el programador de PHP deber\u00eda ofrecer un mejor c\u00f3digo y PHP_CodeSniffer lo ayuda a mejorar la codificaci\u00f3n.<\/p>\n<h3>Instalar PHP_CodeSniffer con Composer<\/h3>\n<p><a href=\"https:\/\/getcomposer.org\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Composer<\/a> es un administrador de dependencias para PHP. Le permite instalar \/ actualizar la biblioteca que necesita para su proyecto.<\/p>\n<p>Puede instalar PHP_CodeSniffer en el directorio ra\u00edz de su proyecto. Pero, le recomiendo que cree una carpeta &#8216;php_codesniffer&#8217; en el directorio ra\u00edz e instale la biblioteca dentro de esta carpeta.<\/p>\n<p>Para instalar PHP_CodeSniffer usando Composer, abra el s\u00edmbolo del sistema en el directorio &#8216;php_codesniffer&#8217; y ejecute el siguiente comando.<\/p>\n<p><code>composer require \"squizlabs\/php_codesniffer=*\"<\/code><\/p>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20867-608234e3d8cc9.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20867-608234e3d8cc9.png\" alt=\"PHP_CodeSniffer: una biblioteca para mejorar sus est\u00e1ndares de codificaci\u00f3n PHP\" ><\/a><\/p>\n<h3>Revisemos nuestros est\u00e1ndares de codificaci\u00f3n PHP<\/h3>\n<p>A continuaci\u00f3n, dir\u00edjase al <code>php_codesniffer\/vendor\/bin<\/code>directorio desde el s\u00edmbolo del sistema. Desde esta carpeta bin, comprobaremos nuestros est\u00e1ndares de codificaci\u00f3n PHP con PHP_CodeSniffer.<\/p>\n<p>Por ejemplo, supongamos que tenemos un archivo llamado index.php en su proyecto. Mi archivo index.php contiene el siguiente c\u00f3digo.<\/p>\n<pre><code>&lt;?php\nrequire_once (\"vendor\/autoload.php\");\nrequire_once (\"config.php\");\n\u00a0\nTinifysetKey(TINIFY_KEY);\n\u00a0\n$source = TinifyfromFile(\"large.jpg\");\n$resized = $source-&gt;resize(\n\u00a0\u00a0\u00a0\u00a0array(\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"method\" =&gt; \"cover\",\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"width\" =&gt; 150,\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"height\" =&gt; 100\n\u00a0\u00a0\u00a0\u00a0));\n$resized-&gt;toFile(\"thumbnail1.jpg\");\n\u00a0\necho \"Image resized.\";\n\u00a0\n$bool = true;\n?&gt;<\/code><\/pre>\n<p>Este c\u00f3digo se usa para <a href=\"https:\/\/themewp.inform.click\/es\/cambiar-el-tamano-de-la-imagen-en-php-usando-tinypng\/\" title=\"cambiar el tama\u00f1o de la imagen en PHP usando la biblioteca TinyPNG\">cambiar el tama\u00f1o de la imagen en PHP usando la biblioteca TinyPNG<\/a>. Nuestro c\u00f3digo funciona bien y da el resultado esperado. Pero, pasamos por alto algunos est\u00e1ndares de codificaci\u00f3n en nuestro archivo.<\/p>\n<p>Averig\u00fcemos qu\u00e9 est\u00e1ndar nos falta en el archivo anterior.<\/p>\n<p>Comprobaremos este archivo con PHP_CodeSniffer ejecutando el siguiente comando.<\/p>\n<p><code>phpcs --standard=PEAR \/path\/to\/your\/file<\/code><\/p>\n<p>Estamos trabajando en Windows, por lo que en nuestro caso, un comando ser\u00eda el siguiente.<\/p>\n<p><code>phpcs --standard=PEAR D:wampwwwapitinypngindex.php<\/code><\/p>\n<p>Aqu\u00ed &#8216;\u2013standard = PEAR&#8217; significa que nuestro archivo se comparar\u00e1 con el est\u00e1ndar establecido por <a href=\"https:\/\/pear.php.net\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">PEAR<\/a>.<\/p>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20867-608234e3d8cc9.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20867-608234e3d8cc9.png\" alt=\"PHP_CodeSniffer: una biblioteca para mejorar sus est\u00e1ndares de codificaci\u00f3n PHP\" ><\/a><\/p>\n<p>Despu\u00e9s de ejecutar el comando anterior, obtuvimos algunos errores sobre los est\u00e1ndares de codificaci\u00f3n.<\/p>\n<h3>Corrija el c\u00f3digo utilizando pautas<\/h3>\n<p>Tomemos un ejemplo de error.<\/p>\n<p>El segundo error que dice &#8216;require_once&#8217; es una declaraci\u00f3n, no una funci\u00f3n: no se requieren par\u00e9ntesis<\/p>\n<p>Por este error, llegamos a conocer el est\u00e1ndar para incluir archivos externos.<\/p>\n<p>Nuestro siguiente c\u00f3digo<\/p>\n<pre><code>require_once (\"vendor\/autoload.php\");\nrequire_once (\"config.php\");<\/code><\/pre>\n<p>deber\u00eda reemplazar con<\/p>\n<pre><code>require_once \"vendor\/autoload.php\";\nrequire_once \"config.php\";<\/code><\/pre>\n<p>Este es un ejemplo de correcci\u00f3n de c\u00f3digo. En su caso, puede encontrar otros errores. Debe corregirlo siguiendo las instrucciones que recibi\u00f3.<\/p>\n<p>La biblioteca PHP_CodeSniffer proporciona un comando que corrige autom\u00e1ticamente las violaciones del est\u00e1ndar de codificaci\u00f3n. Recuerde, este comando no corrige todos los errores. Se encargar\u00e1 de algunos errores menores como sangr\u00eda, cierre de par\u00e9ntesis, etc.<\/p>\n<p>Si observa la captura de pantalla anterior, notar\u00e1 que se encontraron 7 errores en total en nuestro archivo. Despu\u00e9s de la lista de errores, vea la l\u00ednea<\/p>\n<p>&#8216;PHPCBF&#8217; PUEDE ARREGLAR AUTOM\u00c1TICAMENTE LAS 6 VIOLACIONES DE SNIFF MARCADAS<\/p>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20867-608234e3d8cc9.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20867-608234e3d8cc9.png\" alt=\"PHP_CodeSniffer: una biblioteca para mejorar sus est\u00e1ndares de codificaci\u00f3n PHP\" ><\/a><\/p>\n<p>Primer error relacionado con la falta de un comentario de documento de archivo, tenemos que cuidar este comentario de documento. El comando &#8216;PHPCBF&#8217; no lo corregir\u00e1.<\/p>\n<p>Habiendo dicho eso, escribamos el comando para ello.<\/p>\n<p><code>phpcbf --standard=PEAR D:wampwwwapitinypngindex.php<\/code><\/p>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20867-608234e3d8cc9.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20867-608234e3d8cc9.png\" alt=\"PHP_CodeSniffer: una biblioteca para mejorar sus est\u00e1ndares de codificaci\u00f3n PHP\" ><\/a><\/p>\n<p>En la captura de pantalla, puede ver que se corrigieron 6 errores y queda 1. El error restante est\u00e1 relacionado con el comentario del documento del archivo.<\/p>\n<p>Por lo tanto, agregaremos el comentario del archivo y nuestro c\u00f3digo final ser\u00e1 el siguiente.<\/p>\n<pre><code>&lt;?php\n\/**\n\u00a0* This file will generate the resize version of an image\n\u00a0*\n\u00a0* PHP version 5.6.25\n\u00a0*\n\u00a0* @category Resize_Image\n\u00a0* @package\u00a0 TinyPNG\n\u00a0* @author\u00a0\u00a0 Sajid &lt;sajid@artisansweb.net&gt;\n\u00a0* @license\u00a0 http:\/\/www.php.net\/license\/3_01.txt\u00a0 PHP License 3.01\n\u00a0* @link\u00a0\u00a0\u00a0\u00a0 https:\/\/artisansweb.net\/resize-image-php-using-tinypng\n\u00a0*\/\nrequire_once \"vendor\/autoload.php\";\nrequire_once \"config.php\";\n\u00a0\nTinifysetKey(TINIFY_KEY);\n\u00a0\n$source = TinifyfromFile(\"large.jpg\");\n$resized = $source-&gt;resize(\n\u00a0\u00a0\u00a0\u00a0array(\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"method\" =&gt; \"cover\",\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"width\" =&gt; 150,\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"height\" =&gt; 100\n\u00a0\u00a0\u00a0\u00a0)\n);\n$resized-&gt;toFile(\"thumbnail1.jpg\");\n\u00a0\necho \"Image resized.\";\n\u00a0\n$bool = true;\n?&gt;<\/code><\/pre>\n<p>Ahora, si ejecutamos el script &#8216;phpcs&#8217;, no obtendremos ning\u00fan error de est\u00e1ndares de codificaci\u00f3n PHP.<\/p>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20867-608234e3d8cc9.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20867-608234e3d8cc9.png\" alt=\"PHP_CodeSniffer: una biblioteca para mejorar sus est\u00e1ndares de codificaci\u00f3n PHP\" ><\/a><\/p>\n<p><strong>Nota:<\/strong> PHP_CodeSniffer tambi\u00e9n valida sus archivos JS y CSS.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fuente de grabaci\u00f3n:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u00bfQuiere mejorar sus est\u00e1ndares de codificaci\u00f3n PHP? PHP_CodeSniffer es una biblioteca que le ayuda a mejorar los est\u00e1ndares de codificaci\u00f3n. En este art\u00edculo, estudiamos<\/p>\n","protected":false},"author":1,"featured_media":21909,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[271],"tags":[849],"class_list":["post-26721","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-php-2","tag-affiai-es"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/posts\/26721","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/comments?post=26721"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/posts\/26721\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/media\/21909"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/media?parent=26721"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/categories?post=26721"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/tags?post=26721"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}