{"id":230651,"date":"2022-12-02T11:46:00","date_gmt":"2022-12-02T08:46:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=230651"},"modified":"2022-11-09T23:22:32","modified_gmt":"2022-11-09T20:22:32","slug":"desenvolvimento-local-para-o-desenvolvedor-independente-do-wordpress","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/pt-pt\/desenvolvimento-local-para-o-desenvolvedor-independente-do-wordpress\/","title":{"rendered":"Desenvolvimento local para o desenvolvedor independente do WordPress"},"content":{"rendered":"\n<p><strong><a href=\"https:\/\/tommcfarlin.com\/the-independent-wordpress-developer\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Na semana passada<\/a><\/strong>, eu disse que escreveria uma s\u00e9rie de posts explicitamente focados em ferramentas pr\u00e1ticas para desenvolvedores freelance de WordPress que desejam melhorar suas habilidades.<\/p>\n<p>Especificamente, escreverei sobre <strong><a href=\"https:\/\/tommcfarlin.com\/the-independent-wordpress-developer\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">as ferramentas, processos e muito mais para o Independent WordPress Developer<\/a><\/strong>. Assim, o objetivo \u00e9 fornecer uma s\u00e9rie de conte\u00fados voltados para aqueles que s\u00e3o freelancers ou que trabalham em equipe, mas procuram aplicar ferramentas e pr\u00e1ticas repet\u00edveis e s\u00f3lidas ao seu fluxo de trabalho.<\/p>\n<p>Em outras palavras, trata-se de usar um conjunto de ferramentas projetadas para ajud\u00e1-lo a criar as melhores solu\u00e7\u00f5es poss\u00edveis para seus clientes (e fazendo isso com quase nada de custos indiretos).<\/p>\n<p>O desafio que vem com fazer algo assim \u00e9 duplo:<\/p>\n<ol>\n<li>\u00c9 muito conte\u00fado,<\/li>\n<li>H\u00e1 uma [pequena] curva de aprendizado.<\/li>\n<\/ol>\n<p>Ent\u00e3o, sim, tecnicamente voc\u00ea pode ir a diferentes sites ou \u00e1reas e aprender peda\u00e7os sobre essas coisas, mas o objetivo da pr\u00f3xima s\u00e9rie de posts \u00e9 simples:<\/p>\n<blockquote>\n<p>Concentre-se diretamente no desenvolvedor independente do WordPress e fa\u00e7a isso de maneira pr\u00e1tica, f\u00e1cil de entender e aplic\u00e1vel.<\/p>\n<\/blockquote>\n<p>E \u00e9 isso que estou planejando fazer na s\u00e9rie a partir de hoje.<\/p>\n<h2>Para o desenvolvedor independente do WordPress<\/h2>\n<p>Independentemente de voc\u00ea ser novo nisso ou se voc\u00ea faz isso h\u00e1 anos (talvez at\u00e9 uma d\u00e9cada!), vou escrever esses posts de uma maneira que permitir\u00e1 que voc\u00ea cres\u00e7a suas pr\u00e1ticas ou refine seu pr\u00e1ticas para que voc\u00ea possa ser melhor no que faz por meio do uso de ferramentas, processos e tarefas pr\u00e1ticas e repet\u00edveis que se traduzem de projeto para projeto.<\/p>\n<h3>Uma palavra sobre ambientes<\/h3>\n<p>Claro, h\u00e1 sempre a quest\u00e3o de por onde come\u00e7ar, certo?<\/p>\n<p>Esta s\u00e9rie pressup\u00f5e que voc\u00ea esteja trabalhando em um Mac ou em uma m\u00e1quina baseada em Linux; no entanto, vou me certificar de vincular a qualquer coisa espec\u00edfica do Windows quando poss\u00edvel.<\/p>\n<p>Em segundo lugar, quando se trata de qualquer tipo de desenvolvimento web, voc\u00ea sempre quer ter certeza de que tem tr\u00eas \u00e1reas principais \u2013 ou ambientes \u2013 configuradas para o seu projeto:<\/p>\n<ol>\n<li><strong>Desenvolvimento<\/strong>. Esta \u00e9 a m\u00e1quina que voc\u00ea tem \u2013 aquela na qual voc\u00ea come\u00e7a a construir um projeto. Ele tem o conjunto de ferramentas que voc\u00ea precisa para escrever c\u00f3digo, testar e avaliar o que voc\u00ea est\u00e1 fazendo. Isso significa que ele n\u00e3o tem apenas suas ferramentas de desenvolvimento, mas tamb\u00e9m ferramentas como servidor web, banco de dados, PHP e WordPress, juntamente com outras ferramentas que abordarei posteriormente nesta s\u00e9rie.<\/li>\n<li><strong>Encena\u00e7\u00e3o<\/strong>. Esta \u00e9 a \u00e1rea onde voc\u00ea compartilha uma vers\u00e3o do seu c\u00f3digo de trabalho com seu cliente. \u00c9 normalmente acess\u00edvel por meio de um endere\u00e7o na web e cont\u00e9m apenas o que \u00e9 necess\u00e1rio para executar seu c\u00f3digo. Neste caso, um servidor web, um banco de dados, PHP, WordPress e o c\u00f3digo que voc\u00ea escreveu. Por fim, esta \u00e1rea destina-se a que os clientes vejam o progresso, interajam com o seu trabalho e at\u00e9 quebrem algo.<\/li>\n<li><strong>Produ\u00e7\u00e3o<\/strong>. \u00c9 aqui que a vers\u00e3o final do produto \u00e9 lan\u00e7ada. A forma como ele \u00e9 configurado \u00e9 semelhante ao staging (que tamb\u00e9m deve ser semelhante ao desenvolvimento), exceto que esta \u00e9 a vers\u00e3o ao vivo do projeto onde usu\u00e1rios, clientes e outros ir\u00e3o interagir. \u00c9 a vers\u00e3o final e n\u00e3o \u00e9 um lugar onde o desenvolvimento deve ser feito.<\/li>\n<\/ol>\n<p>Imagino que a maioria de voc\u00eas que est\u00e3o lendo isso j\u00e1 est\u00e3o familiarizados com cada um acima e como eles interagem uns com os outros. Existem, no entanto, formas de agilizar a intera\u00e7\u00e3o entre eles. Por exemplo, uma maneira de fazer isso \u00e9 por meio da integra\u00e7\u00e3o cont\u00ednua. E esse \u00e9 um t\u00f3pico sobre o qual escreverei em um post futuro.<\/p>\n<p>Esta s\u00e9rie inteira de posts, no entanto, pode ser retratada como blocos de constru\u00e7\u00e3o, ent\u00e3o vamos come\u00e7ar no n\u00edvel fundamental e trabalhar para cima.<\/p>\n<p>Para aqueles de voc\u00eas que me seguem e este blog h\u00e1 algum tempo, voc\u00ea provavelmente leu algum conte\u00fado acima aqui ou em outro lugar. E isso \u00e9 \u00f3timo! Mas n\u00e3o quero fazer suposi\u00e7\u00f5es. Em vez disso, quero fazer o guia de fato para o desenvolvedor independente do WordPress.<\/p>\n<p>Ent\u00e3o estou come\u00e7ando no n\u00edvel do ambiente de desenvolvimento local.<\/p>\n<h3>Preparando seu ambiente de desenvolvimento local<\/h3>\n<p>Configurar seu ambiente de desenvolvimento local \u00e9 sem d\u00favida o aspecto mais complicado de todo esse processo, ent\u00e3o vou passar alguns posts falando exclusivamente sobre isso.<\/p>\n<p>Ao longo da s\u00e9rie, vou falar sobre:<\/p>\n<ol>\n<li>O Servidor Web<\/li>\n<li>Ferramentas de banco de dados<\/li>\n<li>PHP e WordPress<\/li>\n<li>Um IDE<\/li>\n<li>Ferramentas de qualidade de c\u00f3digo<\/li>\n<\/ol>\n<p>Isso ser\u00e1 espalhado por v\u00e1rios artigos porque quero manter cada artigo em um tamanho gerenci\u00e1vel. Al\u00e9m disso, quero incluir pelo menos uma tarefa acion\u00e1vel a ser conclu\u00edda em todo o conte\u00fado (\u00e0s vezes mais de uma).<\/p>\n<h4>O Servidor Web<\/h4>\n<p>O conte\u00fado desta s\u00e9rie de artigos pretende ser pr\u00e1tico, n\u00e3o muito t\u00e9cnico e certamente n\u00e3o te\u00f3rico. No entanto, acho importante definir termos quando necess\u00e1rio para que todos estejamos na mesma p\u00e1gina ao falar sobre um determinado t\u00f3pico.<\/p>\n<p>Ent\u00e3o vamos definir um servidor web. Para nossos prop\u00f3sitos:<\/p>\n<blockquote>\n<p>Um servidor web \u00e9 um software respons\u00e1vel por lidar com as solicita\u00e7\u00f5es recebidas de uma p\u00e1gina e devolv\u00ea-la \u00e0 pessoa que solicitou essa p\u00e1gina.<\/p>\n<\/blockquote>\n<p>Resumindo, ao receber um endere\u00e7o, o servidor web retornar\u00e1 os dados associados ao referido URL.<\/p>\n<h4>Configurar manobrista em sua m\u00e1quina<\/h4>\n<p>A primeira etapa na prepara\u00e7\u00e3o de um ambiente de desenvolvimento local \u00e9 garantir que voc\u00ea tenha um servidor web dispon\u00edvel em sua m\u00e1quina. H\u00e1 uma variedade de ferramentas que tornam isso poss\u00edvel; no entanto, para os prop\u00f3sitos desta s\u00e9rie, usaremos o <strong><a href=\"https:\/\/laravel.com\/docs\/5.2\/valet\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Valet<\/a><\/strong>.<\/p>\n<ul>\n<li>\u00e9 f\u00e1cil de configurar,<\/li>\n<li>requer quase nada para gerenciar,<\/li>\n<li>e funciona bem com o WordPress.<\/li>\n<\/ul>\n<p>Para instalar, Valet h\u00e1 alguns pr\u00e9-requisitos, todos f\u00e1ceis de instalar. Vou cobrir cada um deles em detalhes aqui para que voc\u00ea tenha tudo o que precisa para come\u00e7ar rapidamente.<\/p>\n<h5>1 Instale o Homebrew<\/h5>\n<p><strong><a href=\"https:\/\/brew.sh\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">O Homebrew<\/a><\/strong> \u00e9 simplesmente uma maneira f\u00e1cil de gerenciar aplicativos (ou pacotes) de terceiros fora da Mac App Store. \u00c9 uma \u00f3tima ferramenta para desenvolvedores e torna incrivelmente f\u00e1cil instalar e desinstalar esses aplicativos.<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-163367-61e7508565ce5.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-163367-61e7508565ce5.png\" alt=\"Desenvolvimento local para o desenvolvedor independente do WordPress\" ><\/a><\/p>\n<p>Al\u00e9m disso, possui ferramentas que ajudam a descobrir quando existem problemas e corrigi-los.<\/p>\n<p>Para instalar o Homebrew em sua m\u00e1quina, digite <strong><a href=\"https:\/\/gist.github.com\/tommcfarlin\/426e02bcfc411d43be6715b3e84ead7e#file-00-install-homebrew-txt\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">o seguinte<\/a><\/strong> comando em seu terminal:<\/p>\n<pre><code>$ \/usr\/bin\/ruby -e \"$(curl -fsSL https:\/\/raw.githubusercontent.com\/Homebrew\/install\/master\/install)\"<\/code><\/pre>\n<p>Isso pressup\u00f5e que voc\u00ea tenha o <strong><a href=\"https:\/\/www.ruby-lang.org\/en\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Ruby<\/a><\/strong> instalado e que possa acess\u00e1-lo pelo caminho especificado no comando acima. Dependendo do seu sistema operacional, isso pode variar.<\/p>\n<p>Isso instalar\u00e1 o Homebrew e as bibliotecas necess\u00e1rias para executar. Voc\u00ea realmente n\u00e3o precisa se preocupar com as informa\u00e7\u00f5es que o terminal exibe, pois geralmente est\u00e1 gerando informa\u00e7\u00f5es sobre os pacotes que est\u00e1 baixando.<\/p>\n<p>Ele informar\u00e1 quando a instala\u00e7\u00e3o estiver conclu\u00edda.<\/p>\n<h5>2 Instale o PHP<\/h5>\n<p>Depois que o Homebrew estiver instalado, passar para o <strong><a href=\"https:\/\/secure.php.net\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">PHP<\/a><\/strong> \u00e9 incrivelmente f\u00e1cil. Embora eu esteja usando o PHP7 para este conjunto espec\u00edfico de artigos, existem vers\u00f5es mais recentes do PHP j\u00e1 dispon\u00edveis (como PHP7.1, PHP7.2 e assim por diante, todas as quais podem ser instaladas via Homebrew).<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-163367-61e7508978095.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-163367-61e7508978095.png\" alt=\"Desenvolvimento local para o desenvolvedor independente do WordPress\" ><\/a><\/p>\n<p>Eu opto por usar o PHP7 porque \u00e9 um bom meio termo para o que a maioria dos hosts modernos oferece em termos de hospedagem WordPress e isso \u00e9 ser otimista. Al\u00e9m disso, o PHP7 \u00e9 r\u00e1pido e oferece muitos recursos orientados a objetos muito bons.<\/p>\n<p>Se voc\u00ea estiver interessado em ler sobre v\u00e1rias vers\u00f5es do PHP e alternar entre elas, vou abord\u00e1-las em um artigo posterior depois que a maior parte desta s\u00e9rie estiver conclu\u00edda.<\/p>\n<p>De qualquer forma, instalar o PHP7 via Homebrew \u00e9 t\u00e3o f\u00e1cil quanto digitar o seguinte comando no terminal:<\/p>\n<p>Uma vez feito, o PHP \u00e9 instalado e voc\u00ea pode verificar se est\u00e1 rodando emitindo o seguinte comando:<\/p>\n<p>E voc\u00ea deve ver algo assim:<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-163367-61e7508cbe8e8.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-163367-61e7508cbe8e8.png\" alt=\"Desenvolvimento local para o desenvolvedor independente do WordPress\" ><\/a><\/p>\n<p>Com isso, \u00e9 hora de instalar o <strong>Composer<\/strong>.<\/p>\n<h5>3 Instale o Compositor<\/h5>\n<p>Assim como o Homebrew \u00e9 um gerenciador de pacotes para aplicativos, o <strong><a href=\"https:\/\/getcomposer.org\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Composer<\/a><\/strong> \u00e9 um gerenciador de pacotes para aplicativos PHP. Isso significa que voc\u00ea pode instalar ferramentas de terceiros, bibliotecas e at\u00e9 aplicativos completos (sim, at\u00e9 WordPress) via Composer.<\/p>\n<p>Por enquanto, por\u00e9m, vamos limitar o uso do Composer \u00e0 instala\u00e7\u00e3o do Valet. Antes de fazer isso, vamos instalar o Composer. Para isso, digite <strong><a href=\"https:\/\/gist.github.com\/tommcfarlin\/426e02bcfc411d43be6715b3e84ead7e#file-03-install-composer-txt\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">o seguinte comando<\/a><\/strong> no seu terminal:<\/p>\n<p>Depois de conclu\u00eddo, voc\u00ea pode testar a vers\u00e3o instalada digitando o seguinte comando:<\/p>\n<p>E voc\u00ea deve ver algo como o seguinte:<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-163367-61e7508fa905b.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-163367-61e7508fa905b.png\" alt=\"Desenvolvimento local para o desenvolvedor independente do WordPress\" ><\/a><\/p>\n<p>A parte mais dif\u00edcil de instalar um servidor web em sua m\u00e1quina local est\u00e1 feita.<\/p>\n<h5>4 Instalar manobrista<\/h5>\n<p>Neste ponto, \u00e9 hora de instalar o Valet que instalar\u00e1 as ferramentas necess\u00e1rias para que sua m\u00e1quina funcione como um servidor web local.<\/p>\n<p>A coisa mais importante a notar sobre isso \u00e9 que quando voc\u00ea o instala (e \u00e9 feito atrav\u00e9s do Composer) voc\u00ea o instala globalmente para que seja acess\u00edvel em qualquer lugar do seu sistema. Para fazer isso, <strong><a href=\"https:\/\/gist.github.com\/tommcfarlin\/426e02bcfc411d43be6715b3e84ead7e#file-05-install-valet-txt\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">digite o seguinte comando:<\/a><\/strong><\/p>\n<pre><code>$ composer global require laravel\/valet<\/code><\/pre>\n<p>Uma vez feito isso, voc\u00ea pode testar se a instala\u00e7\u00e3o est\u00e1 completa abrindo um terminal e fazendo ping em qualquer URL com um <code>.test<\/code>dom\u00ednio de n\u00edvel superior. <strong><a href=\"https:\/\/gist.github.com\/tommcfarlin\/426e02bcfc411d43be6715b3e84ead7e#file-06-test-valet-txt\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Por exemplo, tente fazer isso:<\/a><\/strong><\/p>\n<p>E voc\u00ea deve ver algo assim:<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-163367-61e75092a4316.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-163367-61e75092a4316.png\" alt=\"Desenvolvimento local para o desenvolvedor independente do WordPress\" ><\/a><\/p>\n<p>Assim que terminarmos de configurar tudo isso, vamos configurar v\u00e1rios dom\u00ednios em nossas m\u00e1quinas para cada um de nossos projetos WordPress.<\/p>\n<p>Por enquanto, por\u00e9m, fizemos tudo o que precisamos para garantir que nosso servidor da Web esteja instalado, funcionando e f\u00e1cil de trabalhar \u00e0 medida que avan\u00e7amos para o pr\u00f3ximo artigo.<\/p>\n<h3>Tarefas acion\u00e1veis?<\/h3>\n<p>Eu sei: no in\u00edcio do post eu disse que gostaria de ter uma tarefa acion\u00e1vel por artigo e este incluiu algumas.<\/p>\n<p>Vai ficar mais f\u00e1cil, mas a configura\u00e7\u00e3o inicial \u00e9 sempre um pouco mais trabalhosa do que parte do conte\u00fado que vir\u00e1 depois. Ent\u00e3o, se voc\u00ea chegou at\u00e9 aqui, parab\u00e9ns. Ainda n\u00e3o terminamos!<\/p>\n<h2>Pr\u00f3ximo: Ferramentas de banco de dados<\/h2>\n<p>Neste ponto, temos tudo o que precisamos para hospedar um site, exceto um banco de dados. Como o WordPress \u00e9 um aplicativo da Web baseado em banco de dados, precisamos ter um servidor de banco de dados, um banco de dados e as ferramentas necess\u00e1rias para interagir com ele.<\/p>\n<p>No pr\u00f3ximo artigo, abordarei exatamente o que voc\u00ea precisa fazer para instalar e executar um banco de dados e como navegar pelas informa\u00e7\u00f5es que ele<\/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>Toda esta s\u00e9rie de posts pode ser retratada como blocos de constru\u00e7\u00e3o, ent\u00e3o vamos come\u00e7ar no n\u00edvel fundamental e trabalhar para cima, come\u00e7ando com o desenvolvimento local.<\/p>\n","protected":false},"author":1,"featured_media":163368,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[898,722,1021,846],"tags":[1170],"class_list":["post-230651","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-codigo-2","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\/230651","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=230651"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/posts\/230651\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/media\/163368"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/media?parent=230651"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/categories?post=230651"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/tags?post=230651"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}