Salve !
Desde quando comecei a fazer programas venho usando algumas ferramentas para desenvolver em PHP.
Na categoria Editor / IDE, na minha mão (ui) já passaram Quanta Plus, KDevelop, Eclipse PHP IDE, Netbeans for PHP e agora estou utilizando o Zend Studio. Com exceção do último, todos free ou opensource.
Netbeans é muito bom, porém o que me chamou a atenção no Zend Studio foi o all-in-one que ele traz por default. Listando rapidamente:
- Editor PHP
- Integração SVN/CVS/Git
- PHP Debugging já integrado ao Zend Debugger
- PHP Profiling
- Database Management e Debug
- Um ToDo simples
- Facilidade em achar as coisas nos projetos
- Zend Toolbar integration para Firefox e IE – mas quem liga pro IE afinal
- etc…
Claro que não é impossível configurar toda essa penca de coisa no Eclipse nativo ou Netbeans, só que isto demandaria tempo.
Destaque para PHP Debug, Profiling e Zend Toolbar. Isto me chamou MUITA atenção quando estava olhando reviews e também nos trinta dias de testes.
Além do feijão com arroz temos:
1. Call Hierarchy / Type Hierarchy / Open Type Hierarchy
Ajuda um bocado na localização nas relações entre classes e métodos dentro do projeto. No exemplo tenho um método que chama outro e esse outro chama outro. No caso, tudo dentro de mesma classe, mas funciona perfeitamente em qualquer parte do sistema – incluindo libs no Include Path:
Já o Type Hierarchy mostra a relação entre uma classe e suas relações com classes pai ou interfaces:
E o Open Type Hierarchy (Ctrl + Shift + H) auxilia a localização de objetos, arquivos e métodos dentro do projeto.
Ainda na área de localização de elementos, há uma pesquisa mais completa (Ctrl + H) que permite localização de métodos, arquivos, classes separando por tipo e muito mais:
Após encontrar um resultado, a tab search é exibida/focada:
2. Indentação e Marcação (diff) no código:
Outra coisa interessante – e que existe em qualquer IDE decente – é a possibilidade de trazer o que é chamado de Quick Diff. Este recurso permite mostrar de forma simples o que você alterou, removeu ou adicionou no código. Funciona com SVN, CVS e cópia do disco local. Selecione o tipo e as cores e voilà !
Embora muito comum, a indentação de código é algo interessante de manter ajustado (tab com 4 espaços) e suas preferências quanto a espaço entre os elementos; posição de chave de abertura e etc;
Nessa tela é possivel você definir praticamente tudo sobre indentação de código ! Depois de configurar ao seu gosto (ou padrão) pode exportar para XML e usar em qualquer outra ferramenta que leia o formato – qualquer Eclipse, por exemplo =P
Depois de configurado, você pode selecionar o trecho a ter a indentação ajustada selecionando o trecho e Ctrl + i – obrigado, Otávio pela dica; Pode formatar todo um arquivo usando Ctrl + shift + F – valeu Toscano pela tip – ou ainda, formatar TODO o projeto: Selecione o Projeto no PHP Explorer, Source -> Format – obrigado hlegius
Note que todos atalhos funcionam no Eclipse também
3. PHP Debug
Não é um recurso muito usado pelos developers PHP, principalmente aqueles que começaram com PHP, como eu, mas sem dúvidas revoluciona a forma de como você desenvolve. Após adotar o debug você não quer mais saber de var_dump() ou print_r() com aqueles: ‘estou aqui’ para verificar o que pegou na aplicação.
Como o PHP é baseado em Web, seria fundamental ele poder ser debugado como se estivesse sendo carregamento pelo browser, não ? E é exatamente isso que permite o Zend Debugger – o Xdebug também =~
Ambas engines de debug podem ser integradas ao Zend Studio, porém, no pacote do Studio já vem a versão mais recente do Zend Debugger e tudo já meio que ajustado para rodar com ele
É possível debugar um script PHP Modo terminal e claro, o PHP Web Debug. Para este último você fornece a URL que quer debugar e ele abre a sessão de debugging parando na primeira linha.
Utilizando os breakpoints você pode acompanhar o fluxo da aplicação, valores das variáveis, propriedades dos objetos instanciados e etc.
Claro que nossas aplicações vão muito além de uma simples URL. Temos chamadas com POST, GET e até chamadas em Ajax. O Zend Studio provê uma extension para o Firefox chamada Zend Toolbar. Essa toolbar, permite que você diga ao browser para chamar a sessão de Debug ou Profiling do Studio na próxima página; página atual; Qualquer submit POST ou ainda em qualquer ação no browser. E o pior: funciona !
A configuração do Zend Debugger na sua máquina é simples, mas acho ser digna de um post inteiro sobre isto. Vou tentar preparar um material e publico aqui a configuração e uso dele no Zend Studio.
4. PHP Profile
Além de debuggar, seria interessante analisarmos o desempenho da aplicação. Ok, segue:
Chamadas, quantas vezes chamou; quem demora mais; quem é mais rápido; quem chama quem;
E ele, o fluxo da aplicação:
A Zend Toolbar também provê acesso simples ao Profiling. Basta clicar em Profile na toolbar e pronto. O Studio é chamado e o profile da página é feito.
5. Database Management
Para fechar, gerenciamento dos databases. Possui ponte para vários databases incluindo Oracle, MySQL, PostgreSQL e MSSQL.
Por ele é possível adicionar valores, editar, remover, rodar Queries SQL, backup de estrutura e valores e ele também armazena suas Queries para re-executá-las com um clique quando quiser.
6. Outros
SVN, projetos remotos – incluindo acesso SMB ou FTP; WebServices; Históricos locais, SVN, diff, suporte a Git e suporte a quaisquer plugins que rodem no Eclipse, afinal o Zend Studio tem como base o Eclipse.
Já o configurei no Ubuntu lá na Vex, Windows 7 e Arch Linux aqui no escritório pessoal. Tudo muito tranquilo, sempre.
7. Preços e licença
O custo da licença eu acho alto demais para uma IDE de desenvolvimento. Atualmente são US$ 400,00 por ano para ter suporte e atualização sempre. Caso queira, pode comprar a licença por um ano e depois não comprar mais. Neste caso você ficaria com a última versão antes da expiração de seu suporte ilimitado. Em miúdos: enquanto você paga, recebe atualização da versão.
Comprei em setembro, na versão 7. Em Setembro de 2010, vamos imaginar que esteja na versão 9. Terei as licenças para 7, 8 e 9. Expirou e não renovei, mas saiu update da versão 9, a 9.1, por exemplo. Tenho update dela, pois a licença é a mesma da 9. Porém, no lançamento da 10, eu precisaria comprar uma nova licença para ter direito de baixar e usar a o v10.
Minha opinião final: gostei e tenho usado apenas ele desde quando comecei a testá-lo em meados de Setembro de 2009. Tem muita coisa boa e que ajuda muito e mesmo com o alto custo, vale cada centavo pago até o presente momento.
#notamental não é post patrocinado, tão pouco trabalho na Zend, certo ?







Realmente fça isso, e se possivel para usuários Windows também.
Excelente artigo cara.
Se dá pra fazer a mesma coisa com Eclipse ou Netbeans, pagar por essa facilidade acho que
não vale a pena…
Abs!
Com exceção do Profile, acho que o resto é totalmente possível apenas no Eclipse.
De qualquer modo, uma analogia seria os Macs. Enquanto uns utilizam e perdem tempo personalizando seu sistema operacional, outros compram uma máquina onde tudo já está testado e personalizado para aquela realidade. E por isto, pagam o preço.
Vou investigar o que poderia ser feito usando o Eclipse PHP IDE. Caso achar algo, eu monto um artigo sobre
Eu tive uma breve experiência com Zend Studio e o que me agradou muito são os recursos com o Zend Framework. Mas como não tenho U$400,00 para investir nele, continuo com o Eclipse PDT, que possui praticamente os mesmos recursos.
[...] prometido no Review do Zend Studio 7 , estarei tentando facilitar a configuração do Zend Debugger e também do Zend Studio na [...]
hlegius se possivel coloque o XML, de como você configura o coding style. Utiliza algum já existente? Ou um misto entre alguns?
Opa, Mauro !
Segue link de minha configuração atual.
http://helio.hlegius.pro.br/PHP%20Conventions%20hlegius.xml
Salve como .xml em sua máquina e importe-o em seu Zend Studio / Eclipse PHP IDE.
No caso, eu uso o padrão Java
Abraço !