01 Ago

Postado em:

Programação, PHP

Palavras Chave:

Netbeans, PHP, code completion, CodeIgniter, IDE

RSS:

Assinar.

Code Completion no Netbeans com PHP

Postado em 01 de Agosto de 2010, às 21:49

Olá pessoal, há muito tempo venho utilizando o Netbeans para programar em Java, mas, nunca o utilizei com PHP, mesmo sabendo que ele (o Netbeans) também podia ser utilizado para programar em PHP.

Eu trabalhava com o PHPEditor, ele é bem leve, simples e possui internamente a documentação da linguagem PHP, o que era muito útil. Mas, o editor era muito simplório e faz tempo que não é lançado atualizações para ele.

Sendo assim, resolvi migrar para o Netbeans, a migração é simples de ser feita, basta criar um novo projeto PHP com base em códigos fontes existentes. O Netbeans importa os códigos automaticamente e você já pode continuar a programar.

Não vou escrever aqui sobre todas as qualidades do Netbeans IDE, mas, posso dizer que é uma das melhores IDE's de desenvolvimento que existem atualmente. Mas, quero escrever sobre o code completion do Netbeans.

O PHPEditor, assim como o Netbeans, possui code completion, mas, se você está trabalhando com um framework como o CodeIgniter, por exemplo, o code completion não funciona muito bem.

Então eu pensei: deve haver algo que eu possa fazer para quando eu digitar "$this->load->" o code completion do Netbeans me mostrar todas as funções da classe CI_Loader.

Pesquisando na internet descobri o seguinte: se colocarmos nos comentários de cada classe do projeto um Class property variables (Variável de propriedades da classe, em tradução literal) o Netbeans será capaz de interpretar todas as funções que uma classe que faz parte do nosso projeto possui, por exemplo:

Notem que no comentário da classe eu coloquei a seguinte linha: @property CI_Loader $load, onde CI_Loader é uma classe do Core do CodeIgniter e $load é a variável que utilizamos para nos referir a esta classe dentro do nosso projeto.

Portanto, se eu digitar "$this->load->" o code completion do Netbeans irá me mostrar a lista de funções que a classe CI_Loader possui. O mesmo funciona para todas as outras funções do CI, vejam, por exemplo, a linha @property CI_Form_validation $form_validation que faz referência à classe CI_Form_validation do Core do CI.

Outra opção muito boa seria acrescentar a seguinte linha ao comentário da classe de um model: @property CI_DB_active_record $db. Com esta linha poderemos ter no code completion, uma lista de todas as funções do Active Record do CI ao digitar "$this->db->".

Assim a programação fica mais empolgante. Espero que este post ajude bastante quem gosta do Netbeans para programar em PHP. E quem ainda não experimentou o Netbeans, poderá tentar agora, garanto que vocês irão gostar.

Até mais pessoal, deixem suas dúvidas ou comentários, por favor.

Danilo Miranda 06 Ago 2010

Cara muito legal!

Eu começei a pegar projetos PHP a pouco tempo e até então uso o DREAMWEAVER CS5, que tem o code completor para php. Como estou estudando o framework CodeIgniter, seu post me incentivou para iniciar uma jornada NETBEANS adentro!

Obrigado!


goncin 03 Ago 2010

Olá, Cristiano! Belo e útil post.

Gostaria de acrescentar que, para auxiliar o Netbeans a completar o código, insira o caminho do código-fonte do seu

framework na opção "Incluir caminho" (fica abaixo de "Arquivos de código-fonte" na árvore do projeto). O

Netbeans vai então perder um tempinho varrendo e indexando o código-fonte do CodeIgniter, mas depois tudo volta a

funcionar melhor do que antes.

Um abraço,


Deixe seu comentário