Cinco ferramentas que todo programador PHP deve dominar
Autor: Felipe Nascimento | Publicado: 2015-08-05T13:07:00-03:00



Caro leitor,

Se você me conhece, sabe que o PHP é a minha paixão. Falar sobre&nbsp;PHPé divertido, trabalhar com PHP é divertido e ajudar os outros a trabalhar com PHP é divertido. Gosto tanto de PHP que fiz dele o meu trabalho do dia a dia pelos últimos 3 anos, trabalhando com PHP e também com os programadores.

Nos últimos nove anos me divertindo com PHP, comecei a ver que existem cinco categorias de ferramentas das quais eu dependo mais do que quaisquer outras. Claro, eu tenho um embelezador de código, um verificador de padrões e uma pasta cheia de scripts escritos à mão que eu uso em vários momentos para tornar minha vida mais fácil. No entanto, quando se trata de ferramentas para PHP, existem cinco delas nas quais confio todos os dias.

Aqui estão elas em ordem de importância. Deixe-me saber quais são as suas cinco ferramentas preferidas também! Não vamos começar um meme ou qualquer coisa sobre isso, já que gosto é algo pessoal, ok?

5º: Uma ferramenta de testes unitários

Se você prefere o&nbsp;PHPUnit&nbsp;ou o&nbsp;SimpleTest, testes unitários provaram sua utilidade no processo de desenvolvimento de software. Como um desenvolvedor profissional de PHP, você deve estar familiarizado com os conceitos por trás de testes unitários e&nbsp;Test Driven Development. Você também deve ser capaz de identificar quando o teste unitário é uma boa ideia e quando é uma má (sim, há momentos em que é uma má ideia).

4º: Um bom debugger

Tal como acontece com ferramentas de teste unitários, existem várias opções disponíveis quando se trata de depuradores.&nbsp;dbg,&nbsp;Zend_Debug&nbsp;exdebug&nbsp;fornecem aos desenvolvedores PHP profissionais formas de analisar seu código e encontrar quaisquer problemas. Ferramentas de depuração permitem que seja possível depurar seu código, parar a execução e analisar o ambiente a partir de qualquer ponto. Depuradores são o melhor amigo de um desenvolvedor, e todos os desenvolvedores devem ter pelo menos um bom depurador instalado em seu servidor de desenvolvimento. Credito a você alguns pontos de bônus caso também tenha o&nbsp;Firebug&nbsp;instalado. Encontre um bom depurador e invista o tempo necessário para usá-lo ,pois este será um tempo bem gasto.

3º: Uma ferramenta ERD

Se você está fazendo um trabalho sério com PHP, então são boas as chances de que você está trabalhando com um banco de dados. Em algum ponto de sua estrutura, serão tantos bancos de dados e tabelas que você vai precisar de uma ferramenta para manter tudo em linha reta; é aí que uma ferramenta de Diagrama de Entidade-Relacional (ERD) entra em jogo. Ferramentas como o&nbsp;MySQL Workbench&nbsp;ajudam a visualizar a estrutura de banco de dados. Ferramentas mais caras como&nbsp;ERWin&nbsp;ou Embarcadero&nbsp;ER/Studio&nbsp;irão te dar mais opções para importar e exportar modelos e manter seu banco de dados em sincronia com o seu banco de dados real.

Não importa se você está trabalhando em seu projeto pessoal ou em um ambiente corporativo, uma ferramenta de ERD irá ajudá-lo a gerenciar as coisas.

2º: Um sistema de controle de versão

CVS,&nbsp;SVN,&nbsp;Git, ou uma série de outras opções gratuitas e comerciais vão ajudar você a manter seu código seguro. Em caso de o disco rígido do seu servidor ter problemas ou salvar você de uma alteração feitas às 2 da manhã e que você realmente não deve se lembrar o que fez, manter seu código em um sistema de controle de versão vai ajudar. Qual sistema você irá escolher vai depender muito de como você ou sua equipe trabalham. É preciso pesquisar as opções disponíveis e trabalhar com sua equipe para fazer escolhas como um ambiente centralizado ou distribuído.

1º: Um framework

A ferramenta mais importante que qualquer desenvolvedor deve ter em sua caixa de ferramentas atualmente é um framework. Vamos falar sobre dois tipos diferentes de frameworks.

O primeiro tipo é um Content Management System (CMS). Os CMSs atuais são sistemas complexos o suficiente para serem pensados como frameworks especializados no sentido literal. Você precisa saber o suficiente para instalá-lo, fazê-lo funcionar e deixá-lo fazer seu trabalho. Se suas necessidades são facilmente definíveis e seu CMS possui uma ampla variedade de extensões disponíveis para adicionar mais recursos, então aprender a utilizar um CMS poderia pagar seu valor em trabalho em apenas um ou dois projetos.

O PHP tem um monte de bons projetos de CMS disponíveis e listá-los aqui seria simplesmente dizer que eu iria esquecer de algum, então não vou tentar. Procure rapidamente no Google e você vai encontrar um monte.

O segundo tipo de estrutura que programadores PHP precisam ter em sua caixa de ferramentas é um framework de programação mais genérico. No mundo do PHP, temos um monte de frameworks para escolher. A maioria dos desenvolvedores escolheu um dos três ou quatro grandes e mais famosos frameworks a seguir:

CakePHP
CodeIgniter
symfony
Zend Framework


O framework que você escolher vai depender muito do tipo de projetos nos quais você trabalha ou até mesmo de seu estilo. Cada um dos frameworks acima tem suas próprias forças e fraquezas.

Independentemente da sua escolha, você precisa conhecer o frameworks bem o suficiente para que, quando um projeto surgir, você não perca um monte de tempo procurando alguma coisa na ferramenta, mas possa colocar o projeto em funcionamento rapidamente.

A missão de escolher

Esta lista é o básico que cada desenvolvedor PHP deve ter em sua caixa de ferramentas. Uma coisa que não faz diferença é um IDE. Um IDE é ótimo para aqueles que os utilizam. No entanto, se você não quer ter a sobrecarga de um IDE, há um monte de editores de código lá fora para você usar.

No meu caso, uso o&nbsp;Komodo. Sim, eu sei que o Komodo não é exatamente um IDE, mas tem todas as características importantes de um. No entanto, ele não me força a codificar a sua maneira. Posso utilizar o Komodo para escrever código PHP ou editar meu arquivo .hosts. O editor percebe que cada arquivo individual não é um projeto e que o desenvolvedor só deve ter que usar um projeto quando realmente quiser um projeto.

Até a próxima,

= C =