Pergunta

Eu estou procurando uma boa maneira de obter autocomplete e clique-para-referência (seja lá o que é chamado) para bibliotecas em codeigniter que trabalham em Zend Studio para Eclipse.

Por exemplo, se eu faço $ This-> load-> library ( 'dx_auth'); $ This-> dx_auth-> get_user_id ();

estúdio zend não sabe o que é ..

Não é este sortof maneira hacky fazê-lo (veja abaixo, fonte ) , mas eu sinto que deve haver uma maneira melhor de fazer isso ..

Alguém tem alguma idéia?

// All of these are added so I get real auto complete
// I don't have to worry about it causing any problems with deployment
// as this file never gets called as I'm in PHP5 mode

// Core CI libraries
$config = new CI_Config();
$db = new CI_DB_active_record();
$email = new CI_Email();
$form_validation = new CI_Form_validation();
$input = new CI_Input();
$load = new CI_Loader();
$router = new CI_Router();
$session = new CI_Session();
$table = new CI_Table();
$unit = new CI_Unit_test();
$uri = new CI_URI();
Foi útil?

Solução

Adicionar caminho da biblioteca do CI como um caminho de inclusão ao seu projeto.

  1. No PHP Explorador , abra o projeto e clique com o botão direito em incluir caminhos
  2. Selecione Configurar no menu de contexto
  3. Em seguida, no incluem diálogo caminho, selecione o Biblioteca
  4. Clique em Adicionar pasta externa ...
  5. Procure uma cópia local do CI e escolhê-lo do diretório de biblioteca (onde quer que ele mantém esses arquivos de classe)
  6. Clique em Concluído

Voila, lá vai você!

Devo observar que também é possível definir caminhos de inclusão no momento da criação do projeto.

Outras dicas

instrui resposta de como Pedro, adicionando um caminho de inclusão é definitivamente o melhor caminho a percorrer. No entanto, isso depende dos dockblocks no código fonte CI para ser completa, precisa e não ambígua. Por exemplo, se um @return métodos é declarado como Some_Class|false, o autocompletar não vai saber o que fazer com ele.

Para adicionar a resposta de Pedro, você também pode forçar PDT / Eclipse / ZSfE para tratar qualquer variável como uma instância de uma classe particular assim:

/* @var $varName Some_Class_Name */

Se você importou o projeto de dizer, como o SVN, então você pode não ter o apoio PHP habilitado para este projeto. Você pode habilitá-lo com um clique direito seu projeto -> configure -> adicionar suporte PHP ...

Testado em ZS 7.2.1

Estou usando o estúdio de Zend 9, que é o que eu fiz: Adicionar caminho da biblioteca do CI como um caminho de inclusão ao seu projeto.

$this->load->model('my_model');
$my_model = &$this->my_model;
$my_model instanceof my_model;//add this ,zend studio can autocomplete 
$my_model->myfunc($foo,$bar);
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top