Termo pesquisado: CodeIgniter

Posts encontrados: 2

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.

15 Fev

Postado em:

Programação, PHP

Palavras Chave:

CodeIgniter, Pagination, Classe, biblioteca, current_page

RSS:

Assinar.

Personaliar Classe Pagination do CodeIgniter Para Obter a Página Atual

Postado em 15 de Fevereiro de 2010, às 14:33

Pessoal, hoje eu estava programando em PHP (Meu passa tempo favorito!!) e resolvi atualiza a versão do framework que utilizo, o CodeIgniter (Esse eu recomendo), para a versão 1.7.2, pois eu ainda estava usando a versão 1.7.0. Enquanto atualizava, lembrei que, na classe Pagination da biblioteca do CodeIgniter existe um método que não é nativo, esse método foi implementado por mim mesmo para sanar uma de minhas necessidades com relação ao framework.

O método é bem simples e foi feito com base em trechos de código encontrados na própria classe Pagination. O nome do método é current_page(), sua única função é retornar o número da página que está sendo atualmente exibida.

Veja abaixo o código completo do método:

Quero explicar por que precisei deste método. Vamos supor que temos uma lista de produtos de uma loja sendo exibida no browser, e que esta lista possui 20 (vinte) páginas. Suponhamos agora que na página 10 (dez) existe um produto com o valor errado, portanto, precisaremos corrigi-lo, certo? Imaginemos então, que próximo à descrição do produto já exista um link chamado "Editar" para podermos editá-lo. Ao clicarmos neste link, iremos para outra página, certo? Sendo assim, editamos e salvamos as alterações no preço do produto.

Agora vem o problema, após salvar, o usuário deve ser redirecionado novamente para a lista de produtos (Isso pode ser feito automaticamente ou por meio de um botão disponibilizado na página de edição), mas, ao ser redirecionado, ele voltará para a página 1 (um). Isso tornaria o trabalho do usuário totalmente penoso, caso ele estvesse conferindo os preços de todos os produtos da sua lista. Imagine ter que procurar em qual página você estava após cada produto editado?

Portanto, com este método super prático eu busco o número da página atual e o envio para a página de edição de produtos, por exemplo. E lá na página de edição posso criar um link ou um botão "Voltar" ou ainda um redirecionamento automático para a lista de produtos, de forma que, ao voltar, o usuário seja levado diretamente à página em que estava antes de editar o produto.

Espero que o código acima possa ser útil para vocês tanto quanto é para mim. Até mais pessoal.