{"id":229802,"date":"2022-11-10T15:16:00","date_gmt":"2022-11-10T12:16:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=229802"},"modified":"2022-11-10T15:20:02","modified_gmt":"2022-11-10T12:20:02","slug":"bibliotecas-para-plugins-do-wordpress-parte-3","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/pt-pt\/bibliotecas-para-plugins-do-wordpress-parte-3\/","title":{"rendered":"Bibliotecas para plugins do WordPress, parte 3"},"content":{"rendered":"<p>Nos \u00faltimos tr\u00eas posts, falei sobre bibliotecas para WordPlugins que considero extremamente \u00fateis para escrever bases de c\u00f3digo de alta qualidade.<\/p>\n<p>Se voc\u00ea n\u00e3o est\u00e1 acompanhando, pode se atualizar lendo os posts anteriores:<\/p>\n<ul>\n<li><a href=\"https:\/\/wordpress.mediadoma.com\/pt-pt\/bibliotecas-para-plugins-do-wordpress-parte-1\/\" title=\"Bibliotecas para plugins do WordPress, parte 1\">Bibliotecas para plugins do WordPress, parte 1<\/a><\/li>\n<li><a href=\"https:\/\/wordpress.mediadoma.com\/pt-pt\/bibliotecas-para-plugins-do-wordpress-parte-2\/\" title=\"Bibliotecas para plugins do WordPress, parte 2\">Bibliotecas para plugins do WordPress, parte 2<\/a><\/li>\n<\/ul>\n<p>Ou voc\u00ea pode simplesmente revisar a lista de ferramentas que listei at\u00e9 agora:<\/p>\n<ul>\n<li><a href=\"https:\/\/phpunit.de\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">PHPUnitName<\/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 postagem encerrar\u00e1 a s\u00e9rie com o conjunto final de ferramentas que normalmente <a href=\"https:\/\/pressware.co\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">usamos<\/a> ao criar solu\u00e7\u00f5es para outras pessoas.<\/p>\n<h2>Bibliotecas para plugins do WordPress, o fim<\/h2>\n<p>O objetivo desta s\u00e9rie foi compartilhar as ferramentas, utilit\u00e1rios e bibliotecas para plugins do WordPress que encontrei \u2013 por meio de outras pessoas e por experi\u00eancia \u2013 para ajudar a escrever c\u00f3digo de alta qualidade antes mesmo de envi\u00e1-lo ao Git.<\/p>\n<p>Ent\u00e3o aqui est\u00e1 uma explica\u00e7\u00e3o das duas bibliotecas finais.<\/p>\n<h3><a href=\"https:\/\/github.com\/JakubOnderka\/PHP-Parallel-Lint\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">PHP Paralelo Lint<\/a><\/h3>\n<p>Na <a href=\"https:\/\/github.com\/JakubOnderka\/PHP-Parallel-Lint\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">p\u00e1gina inicial do projeto<\/a>, o objetivo desta biblioteca \u00e9 o seguinte:<\/p>\n<p>Mas o que isso significa exatamente?<\/p>\n<h3><a href=\"https:\/\/github.com\/sensiolabs\/security-checker\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Verificador de seguran\u00e7a<\/a><\/h3>\n<p>Acho justo dizer que a maioria dos desenvolvedores quer escrever c\u00f3digo seguro, mas \u00e9 dif\u00edcil estar ciente de todas as v\u00e1rias vulnerabilidades que existem (especialmente quando elas mudam no dia-a-dia).<\/p>\n<\/p>\n<p>\u00c9 a\u00ed que o <a href=\"https:\/\/github.com\/sensiolabs\/security-checker\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Security Checker<\/a> entra em a\u00e7\u00e3o:<\/p>\n<blockquote>\n<p>O Verificador de Seguran\u00e7a SensioLabs \u00e9 uma ferramenta de linha de comando que verifica se seu aplicativo usa depend\u00eancias com vulnerabilidades de seguran\u00e7a conhecidas. Ele usa o servi\u00e7o Web de Verifica\u00e7\u00e3o de Seguran\u00e7a SensioLabs e o Banco de Dados de Avisos de Seguran\u00e7a.<\/p>\n<\/blockquote>\n<p>Assim como as outras bibliotecas mencionadas <a href=\"https:\/\/tommcfarlin.com\/tag\/libraries-for-wordpress-plugins\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">nesta s\u00e9rie<\/a>, esta \u00e9 uma que se conecta ao processo de confirma\u00e7\u00e3o e analisa seu c\u00f3digo em rela\u00e7\u00e3o aos bancos de dados mencionados.<\/p>\n<h2>Usando estes em projetos<\/h2>\n<p>Isso encerra a lista completa de ferramentas que me propus a cobrir ao escrever esta s\u00e9rie; no entanto, para alguns, ainda levanta a quest\u00e3o de como conect\u00e1-los a projetos baseados no WordPress.<\/p>\n<p>Ent\u00e3o, em um pr\u00f3ximo post, vou explicar exatamente isso.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fonte de grava\u00e7\u00e3o:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/tommcfarlin.com\" class=\"external external_icon\">tommcfarlin.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>O post final de uma s\u00e9rie sobre as bibliotecas de plugins do WordPress que minha equipe e eu usamos ao trabalhar em solu\u00e7\u00f5es de alta qualidade para outras pessoas.<\/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":[722,1021,846],"tags":[1170],"class_list":["post-229802","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-desenvolvedor","category-sites-uteis","category-tutoriais","tag-affiai-pt-pt"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/posts\/229802","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/comments?post=229802"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/posts\/229802\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/media\/166024"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/media?parent=229802"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/categories?post=229802"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/tags?post=229802"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}