Aplicativos em PHP/Editores e IDEs para PHP, CSS, JavaScript e HTML/Eclipse com PHPEclipse, Aptana e outros plugins

Origem: Wikilivros, livros abertos por um mundo aberto.

Introdução


O desenvolvimento de um aplicativo Web em PHP requer basicamente conhecimentos nas seguintes áreas: HTML, JavaScript, CSS, PHP e de um banco de dados. Com a IDE Eclipse podemos juntar alguns plugins e formar um ótimo ambiente de desenvolvimento.


Um recurso muito importante em uma ferramenta web é um bom debugger, pois com o que se perde muito tempo é com a caça aos bugs. O melhor debugger que testei foi o do PHPEclipse.


Agora comparemos o trabalho em um editor de texto comum e no editor do PHPEclipse. No editor de texto normalmente se cria um script até o final e então manda-se para o servidor para testar no browser.

No PHPEclipse a cada linha digitada temos uma ajuda do debugger (caso haja algum erro ele avisa e até corrige com uma solução de sugestão). Tem dúvida sobre alguma palavra-chave? Deixe o cursos de texto sobre a mesma e tecle Ctrl+Shift+H para receber uma página da documentação oficial do PHP, com sintaxe, exemplos, etc. Isso até no seu idioma nativo, como veremos adiante.

Auto-completa código HTML, JavaScript e PHP. Gerenciamento do banco de dados integrado (QuantumDB), Modelagem de dados (Azurry Clay) e muitas outras facilidades integradas.


Com a intenção de encontrar um ambiente de desenvolvimento que torne o trabalho com PHP mais produtivo, testei diversos editores e IDEs, inclusive alguns comerciais, como o ZendStudio e o Dreamweaver. O Eclipse, juntamente com o PHPEclipse, JSEclipse, o EclipseTidy e o QuantumDB formaram o ambiente de desenvolvimento mais produtivo, além de inteiramente free e open-source. Com ele se desenvolve tando o HTML, o JavaScript quanto o código PHP. A característica mais marcante ao meu ver, a mais produtiva para desenvolvimento em PHP é o debugger. Sei que existe a variante pessoal, o gosto de cada um, e algumas pessoas podem preferir esta ou aquela ferramenta, dependendo de sua bagagem anterior e de sua atitude, mas para mim esta foi a melhor alternativa para trabalho com o PHP.


O PHPEclipse é formado por um conjunto de plugins para o Framework Eclipse que traz uma IDE integrada para desenvolvimento de PHP (http://www.plog4u.org/index.php/Using_PHPEclipse ). Podemos utilizar o Eclipse com PHPEclipse tanto no Windows quanto no Linux, pois o mesmo é desenvolvido em Java para ambientes gráficos Desktop e roda em qualquer ambiente que suporte Java.


O Eclipse oferece um conjunto de recursos importantes para o desenvolvedor, como o CVS e Subversion, Webdav, busca texto em projetos e muitos plug-ins de terceiros, além de uma grande comunidade de usuários e desenvolvedores.


Características do PHPEclipse

• PHP, HTML, XML and CSS Syntax Highlighting

• Code completion

• Javascript Editor (via JSEclipse)

• Integrated web browser preview (somente no Windows)

• Integrated control of Apache & MySQL servers (if using XAMP distribution)

• Some PHPUnit Integration (?)

• Integrated MySQL client view using Quantum DB (PostgreSQL e outros bancos)

• HTMLTidy integration

• Debug

• Marca início e final de chaves e parênteses, colchetes e chaves


(?) Ainda não foram testados

Integrado aos plugins JSEclipse e EclipseTidy oferece ainda mais recursos.


Características da IDE Eclipse+PHPEclipse+JSEclipse+EclipseTidy:

• Colorir sintaxe.

• Auto-completar código:

• PHP – (Ctrl+BarraDeEspaço)

• HTML (digitar parte e aguardar. Exemplo: digitar “<” e aguardar ou parte e Ctrl+Espaço. Ajuda com Tabelas, forms, etc.

• JavaScript (sililar ao HTML), exemplo: digitar “<script”, aguardar um pouco e teclar Ctrl+Espaço

• Tanto para HTML quanto para JavaScript ele completa com trechos de código. Se teclar <html e Ctrl+Espaço ele exibe todo o cabeçalho do HTML. Tecle “$” e aguarde, ou “$n”.

Obs.: é sensível ao contexto. Só auto-completará uma função php num script php.

• Ajuda Rápida ao selecionar palavra-chave e mover mouse sobre a mesma.

• Ajuda completa ao selecionar palavra-chave e teclar Ctrl+Shift+H ou botão direito e PHP Help)

• Debugar o código logo que teclamos Enter em novo script, ou seja, a cada linha. Ao abrir script existente. Sempre que existe erro e salvamos o arquivo, o nome do arquivo e o diretório onde ele encontra-se ficam com um pequeno X vermelho acusando o erro.

• Numeração de linhas (Window – Preferences – PHPEclipse... - PHP – Show Line Numbers)

• Controle de Tabulação (Window – Preferences – PHPEclipse... - PHP – Display tab width)

• No Windows ao abrir ou ao salvar mostra o resultado na janela PHP Browser (se corretamente configurado em Window – Preferences – PHPEclipse... – Project Defaults e WebServer local).


Alterando o Help Online para Português do Brasil

(Tradução e resumo da Wikipedia sobre PHPEclipse)

• Fechar Eclipse

• Mover doc.zip do arquivo .../plugins/net.sourgeforge.phphelp_... para uma pasta temporária

• Descompactar doc.zip

• Baixar o arquivo doc do idioma desejado do site oficial do php, sendo do tipo “Many HTML files”

• Descompactar no diretório doc do doc.zip, socrescrevendo todos

• Compactar o diretório doc como doc.zip (embutindo também o diretório doc). No linux:

zip -r doc.zip doc. No Windows selecionar o diretório doc e compactar com WinRar ou outro.

• Copiar doc.zip novamente para .../plugins/net.sourceforge.net.phphelp

Utilizando: Selecione uma palavra-chave em um script PHP e tecle Ctrl+Shift+H ou clique com o botão direito do mouse e PHP Help.


Instalações

Instalação do Eclipse

- Baixar a versão 3.1.1 ou superior aqui: http://www.eclipse.org/downloads/index.php preferindo um mirror brasileiro ( veja abaixo na lista em South America). Requer Java (JRE ou JSDK).

- Descompacte o arquivo


Instalação do PHPEclipse

- Baixar a versão 1.2.3 ou superior do site oficial: http://www.phpeclipse.com/

- Copie o arquivo .zip para o diretório do Eclipse. Então descompacte.


Instalação do JavaScript Development Tools (JSDT)

Baixe também do site:

http://www.eclipse.org/webtools/jsdt/

Instale de maneira semelhante a instalação do PHPEclipse.


Instalação do EclipseTidy

Download - http://eclipsetidy.sourceforge.net/ e instale da mesma forma dos anteriores.


Instalação do Quantum DB

Características:

• connect to databases using standard JDBC drivers

• review schemas, tables, views and sequences

• look up column, index and foreign key information

• issue ad-hoc queries or other SQL statements against the database

• manage, edit, and work with SQL files (*.sql)

• issue updates, deletes, and inserts using simple, easy-to-use wizards

Trabalha com Adabas, DB2, DB2 on AS400, HSQLDB, Informix, MySQL, Oracle, Pointbase, PostgreSQL, Sybase e vários bancos com um driver JDBC.

Download - http://sourceforge.net/projects/quantum/

Também descompacte para o mesmo diretório do Eclipse.


Para adicionar um banco, instale o JDBC correspondente a ele.


Para o PostgreSQL baixe daqui:

http://jdbc.postgresql.org/download.html (Para a versão 7.4 baixar o apropriado pacote).

Para o MySQL:

http://dev.mysql.com/downloads/connector/j/

- Após descompactar abra o Eclipse e Window – Open Perpective – Other... Quantum DB e OK

- Na Perpectiva Database Bookmark (esquerda) clique com o botão direito e New Bookmark.

- Clique em Add Driver – Add External Jar... e indique o arquivo .jar que você baixou.

- Clique em Browse... e selecione o nome da classe e OK e Finish.

- Selecione o JDBC instalado e clique em Next.

- Userid – nomeuser e Password - ****** Hostname (127.0.0.1), Port (5432) Database name (banco).

- Clique em Next e digite um nome para esta conexão (sugestão: nome do banco) e clique em Next.

- Clique em Finish.

- Duplo clique no novo Bookmark que apareceu à esquerda para abrir (conectar) o banco.

- Ao selecionar e duplo clique em uma tabela, seu conteúdo é exibido abaixo e à esquerda.

- No painel de cima à esquerda podemos inserir consultas na sintaxe SQL.


Veja a tela abaixo para detalhes.


Configuração do PHPEclipse no Eclipse


Abrir o Eclipse – menu Window – Preferences


Observe que já temos JSEclipse e PHPEclipse Web Developn.


- Clique no sinal de + à esquerda de PHPEclipse


- Em Browser Configuration podemos adicionar outros navegadores ou alterar o atual. - Em PHP uma boa opção é marcar “Show line number” que exibirá os números de linha no editor. - Agora clique em PHP External Tools


Uma configuração no WindowsXP.


- Agora vejamos Project Defaults


Veja que as configurações aqui são para um servidor web rodando localmente.

- Adicionando o Help do PHP ao Eclipse (clique no sinal de + em PHP)


Indique o caminho (local) do arquivo de help do PHP no formado .chn.

A saída mais eficiente (pelos meus testes) é a de criar um novo doc.zip (como indicado).


Configurando a Atualização Automática do Eclipse

- Window – Preferences – Install/Update


Adicionar o servidor e a porta do Proxy.

Clicar em Automatic Updates e Clicar em Automacically find new updates and notify me.


Atualizando o Eclipse e seus plugins


- Help – Software Updates – Find and Install...

- Search for updates of the currently installed features

(Para atualizar o Eclipse atual e os Plugins instalados)

Selecionar um mirror e atualizar.


- Search for new features to install

(Procurar novos plugins para instalar)

Exemplo: Next – New Remote Site

Name - AnyEdit tools

URL - http://andrei.gmxhome.de/eclipse/


Criando um Novo Projeto e PHP


- File – New – Project

- PHP – Sinal de + e PHP Project e Next

- Digite um nome para o projeto e clique em Finish.


Obs.: Antes de finalizar podemos desmarcar “Use default” e salvar o projeto noutra pasta.


- Clicar sobre o nome do Projeto no painel (Navigator) da esquerda com o botão direito e New – PHP File

- Em File name informe o nome do arquivo e clique em Finish.


Recebemos então o seguinte código:


<?php

/*

* Created on 10/10/2005
*
* To change the template for this generated file go to
* Window - Preferences - PHPeclipse - PHP - Code Templates
*/

?>


Abrir uma linha em branco acima de ?> e digitar:


echo "Teste!";


Teclar Ctrl+S para salvar e observe que abaixo no painel PHP Browser já aparece o resultado: Teste! Este recurso até o momento está disponível apenas em Windows.


Caso queira maximizar o painel PHP Browser para ver o resultado em tela cheia:

- Clique no botão maximize à direita:


Adicionando arquivos PHP ao Projeto criado


- Clique sobre o nome do projeto com o botão direito e New – PHP File.

- Em File name digite um nome para o arquivo e Finish.


Adicionando arquivos HTML e JavaScript

- Clique sobre o nome do projeto com o botão direito e New – Other – Sinal de + de PHP e HTML file.

- Em File name digite um nome para o arquivo e Finish.


Auto_completando o código

Logo abaixo da linha do echo digite "pg_" e então tecle Ctrl+BarraDeEspaços.

Veja o que aparece:


Uma relação de funções do PHP iniciadas com pg_ . A função selecionada tem uma pequena descrição aparecendo à direita.

Podemos também inserir outros arquivos no nosso projeto PHP: HTML, JS e outros formatos que também contarão com bons recursos do plugin PHPEclipse e do JSEclipse.


Debugando Scripts PHP

Procurar e corrigir erros em códigos é algo muitas vezes trabalhoso e outras vezes mais ainda. Para lidar melhor com estes problemas e resolvê-los mais rápido e eficientemente, devemos: ter um bom conhecimento dos mecanismos de correção da ferramenta em uso, da sintaxe das funções e estruturas do PHP, além de usar as melhores ferramentas de programação disponíveis: IDEs, editores, funções/classes, livros tradicionais, livros eletrônicos, o manual oficial do PHP em português do Brasil, aplicativos de exemplo e o que sobrar pesquisar no site oficial do PHP e na Internet em geral.


Algumas vezes o Interpretador acusa erro em uma linha e o erro de fato encontra-se em outra bem diferente (normalmente acima), como é o caso de strings não fechadas adequadamente e concletes, chaves ou parêntesis.


Maior atenção para os pontos:


(ponto e vírgula) ao final das instruções

aspas (") fechando com apóstrofos (') ao invés de aspas

),} ou ] apenas abrindo ou fechando expressões em if com um igual (=) quando o correto são dois iguais (= =)

muita atenção com expressões lógicas

echos ou prints exibindo variáveis em pontos estratégicos. Exemplo: print "Valor $mValor
" para debugar;


Exemplo de uso do Debug do PHPEclipse

Crie um arquivo com o código abaixo:

<?

//include "conexao.inc.php";

//echo "Aguarde...;

/*

for ($campo=20;$campo<9020;$campo++){ $str="insert into clientes values ($campo, 'Ribamar.$campo','ribafs.$campo@gmail.com','Fortaleza.$campo', 'Ceará.$campo',$campo*2)"; pg_query($conexao,$str);

}

  • /

//echo "
Concluido!";

$x=4;

if (($x ==0) && ($x>5){

echo "Furado!";

}else{

echo "Ok";

}

?>


Copie o arquivo para o diretório web como está. Então execute no browser.

Veja que ele retornará o seguinte erro:


Parse error: syntax error, unexpected '{' in C:\Arquivos de programas\xampp151\HTDOCS\teste.php on line 13


Não dá para identificar diretamente pela mensagem de erro, já que a { está correta.

Agora abra o Eclipse e num novo arquivo de projeto PHP cole o mesmo código acima.

Então tecle Ctrl+S para salvar. Veja que ao salvar ele grifa as duas chaves do if e adiciona dois pequenos círculos vermelhos à esquerda das linhas de número 13 e 15.

Pare o ponteiro do mouse sobre o círculo da linha 13. Receberá uma mensagem assim:


Parser error “’)’ expected after ‘if’ condition. “


Esta mensagem já nos ajuda mais que a retornada pelo browser, pois acusa de fato o problema, falta fechar o último parêntesis do if.


Configuração do PHP e Apache para melhor Debug


Isso na fase de desenvolvimento, pois na fase de produção o ideal é inibir as mensagens de erro.

Editar o arquivo php.ini e configurar:

display_errors = On

log_erros = On

error_reporting = E_ALL & ~E_NOTICE (Ativa todos, exceto os Notice)


Salvar, parar o Apache e iniciar.


Tipos de Erros e avisos do PHP


Parse error – problema com a sintaxe do script. O interpretador pára de rodar quando encontra um erro destes.

Fatal error – Um sério problema com o conteúdo do seu programa, como a chamada a uma função que ainda não foi definida. O interpretador pára ao encontrar um erro destes.

Warning – Aviso do interpretador que tem algo errado em seu programa. Exemplo: chamar função com número errado de argumentos. Mas este erro não impede de que o interpretador continue trabalhando.

Notice – Uma dica do interpretador. Exemplo: mostrar uma variável sem primeiro inicializar ela com algum valor. Não fará o interpretador parar.


Using PHPEclipse : Installation : Installing the DBG Debugger

http://www.plog4u.org/index.php/Using_PHPEclipse_:_Installation_:_Installing_the_DBG_Debugger