{"id":229377,"date":"2022-11-10T15:26:00","date_gmt":"2022-11-10T12:26:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=229377"},"modified":"2022-11-10T15:30:16","modified_gmt":"2022-11-10T12:30:16","slug":"bibliotecas-para-plugins-de-wordpress-parte-3","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/es\/bibliotecas-para-plugins-de-wordpress-parte-3\/","title":{"rendered":"Bibliotecas para plugins de WordPress, Parte 3"},"content":{"rendered":"<p>En las \u00faltimas tres publicaciones, habl\u00e9 sobre bibliotecas para WordPlugins que considero extremadamente \u00fatiles para escribir bases de c\u00f3digo de alta calidad.<\/p>\n<p>Si no ha estado siguiendo, puede ponerse al d\u00eda leyendo las publicaciones anteriores:<\/p>\n<ul>\n<li><a href=\"https:\/\/wordpress.mediadoma.com\/es\/bibliotecas-para-plugins-de-wordpress-parte-1\/\" title=\"Bibliotecas para plugins de WordPress, Parte 1\">Bibliotecas para plugins de WordPress, Parte 1<\/a><\/li>\n<li><a href=\"https:\/\/wordpress.mediadoma.com\/es\/bibliotecas-para-plugins-de-wordpress-parte-2\/\" title=\"Bibliotecas para plugins de WordPress, Parte 2\">Bibliotecas para plugins de WordPress, Parte 2<\/a><\/li>\n<\/ul>\n<p>O simplemente puede revisar la lista de herramientas que he enumerado hasta ahora:<\/p>\n<ul>\n<li><a href=\"https:\/\/phpunit.de\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Unidad PHP<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/phpro\/grumphp\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">GrumPHP<\/a><\/li>\n<li><a href=\"https:\/\/phpmd.org\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">PHPMD<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/squizlabs\/PHP_CodeSniffer\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">PHP CodeSniffer<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/sebastianbergmann\/phpcpd\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">PHPCPD<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/povils\/phpmnd\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">PHPMND<\/a><\/li>\n<\/ul>\n<p>Esta publicaci\u00f3n concluir\u00e1 la serie con el conjunto final de herramientas que normalmente usamos cuando <a href=\"https:\/\/pressware.co\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">creamos<\/a> soluciones para otros.<\/p>\n<h2>Bibliotecas para complementos de WordPress, The End<\/h2>\n<p>El prop\u00f3sito de esta serie ha sido compartir las herramientas, las utilidades y las bibliotecas para complementos de WordPress que he encontrado, a trav\u00e9s de otros y de la experiencia, para ayudar a escribir c\u00f3digo de alta calidad incluso antes de enviarlo a Git.<\/p>\n<p>As\u00ed que aqu\u00ed hay una explicaci\u00f3n de las dos bibliotecas finales.<\/p>\n<h3><a href=\"https:\/\/github.com\/JakubOnderka\/PHP-Parallel-Lint\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Pelusa paralela de PHP<\/a><\/h3>\n<p>Desde <a href=\"https:\/\/github.com\/JakubOnderka\/PHP-Parallel-Lint\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">la p\u00e1gina de inicio del proyecto<\/a>, el prop\u00f3sito de esta biblioteca es el siguiente:<\/p>\n<p>Pero, \u00bfqu\u00e9 significa esto exactamente?<\/p>\n<h3><a href=\"https:\/\/github.com\/sensiolabs\/security-checker\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Comprobador de seguridad<\/a><\/h3>\n<p>Creo que es justo decir que la mayor\u00eda de los desarrolladores quieren escribir c\u00f3digo seguro, pero es dif\u00edcil estar al tanto de todas las diversas vulnerabilidades que existen (especialmente cuando cambian d\u00eda a d\u00eda).<\/p>\n<\/p>\n<p>Ah\u00ed es donde entra en juego <a href=\"https:\/\/github.com\/sensiolabs\/security-checker\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Security Checker :<\/a><\/p>\n<blockquote>\n<p>SensioLabs Security Checker es una herramienta de l\u00ednea de comandos que comprueba si su aplicaci\u00f3n utiliza dependencias con vulnerabilidades de seguridad conocidas. Utiliza el servicio web SensioLabs Security Check y la base de datos de avisos de seguridad.<\/p>\n<\/blockquote>\n<p>Al igual que las otras bibliotecas mencionadas en <a href=\"https:\/\/tommcfarlin.com\/tag\/libraries-for-wordpress-plugins\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">esta serie<\/a>, esta es una que se conecta al proceso de confirmaci\u00f3n y analiza su c\u00f3digo contra las bases de datos antes mencionadas.<\/p>\n<h2>Uso de estos en proyectos<\/h2>\n<p>Esto envuelve la lista completa de herramientas que me propuse cubrir al escribir esta serie; sin embargo, para algunos, todav\u00eda plantea la cuesti\u00f3n de c\u00f3mo conectarlos a proyectos basados \u200b\u200ben WordPress.<\/p>\n<p>Entonces, en una pr\u00f3xima publicaci\u00f3n, explicar\u00e9 exactamente eso.<\/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>La publicaci\u00f3n final de una serie sobre las bibliotecas para complementos de WordPress que mi equipo y yo usamos cuando trabajamos en soluciones de alta calidad para otros.<\/p>\n","protected":false},"author":1,"featured_media":166024,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[716,1015,840],"tags":[1172],"class_list":["post-229377","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-desarrollador","category-sitios-utiles","category-tutoriales","tag-affiai-es"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/posts\/229377","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=229377"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/posts\/229377\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/media\/166024"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/media?parent=229377"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/categories?post=229377"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/tags?post=229377"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}