Domanda

Sto cercando un buon modo per ottenere il completamento automatico, e fare clic su-per-il riferimento (qualunque cosa chiama) per le biblioteche in codeigniter di lavoro in Zend Studio for Eclipse.

per esempio, se faccio $this->load->library('dx_auth');$this->dx_auth->get_user_id();

zend studio non so cosa sia..

C'è questo sortof hacky modo per farlo (vedi sotto, fonte), ma ho la sensazione che ci deve essere un modo migliore di farlo..

Qualcuno ha qualche idea?

// 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();
È stato utile?

Soluzione

Aggiungere CI biblioteca del percorso come un percorso di inclusione per il vostro progetto.

  1. Nel PHP Explorer, aprire il progetto e fare clic destro su Percorsi Di Inclusione
  2. Selezionare Configurare dal menu di scelta rapida
  3. Quindi nel percorso di inclusione finestra di dialogo, selezionare il Libreria scheda
  4. Fare clic su Aggiungi Cartella Esterna...
  5. Sfoglia per una copia locale di CI e scegliere la directory di libreria (dove si tiene le file di classe)
  6. Fare clic su Fatto

Voilà, ci si va!

Devo notare che si può anche definire percorsi di inclusione al momento della creazione di un progetto.

Altri suggerimenti

Come risposta di Pietro istruisce, l'aggiunta di un percorso di inclusione è sicuramente il modo migliore per andare. Tuttavia, questo si basa sulle docblocks nel codice sorgente CI per essere complete, accurate, e non ambiguo. Ad esempio, se un @return metodi è dichiarato come Some_Class|false, il completamento automatico non saprà cosa fare con esso.

Per aggiungere alla risposta di Pietro, è anche possibile forzare PDT / Eclipse / ZSfE per il trattamento di qualsiasi variabile come istanza di una classe particolare, in questo modo:

/* @var $varName Some_Class_Name */

Se è stato importato il progetto da dire, come SVN, allora si potrebbe non avere il supporto PHP abilitato per questo progetto. È possibile attivare facendo clic destro del progetto -> Configura -> aggiungere il supporto PHP ...

Testato in ZS 7.2.1

sto usando Zend Studio 9, questo è quello che ho fatto: Aggiungere percorso della libreria di CI come un percorso di inclusione al progetto.

$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);
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top