2009-07-03 12 views
9

Sto cercando un buon modo per ottenere il completamento automatico e fare clic per riferimento (qualunque sia il nome) per le librerie in codeigniter che funzionano in Zend Studio per Eclipse.come ottenere il completamento automatico di zend studio con codeigniter

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

Zend Studio non sa cosa sia ..

C'è questo modo sortof hacky per farlo (vedi sotto, source), ma mi sento come ci dovrebbe 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(); 

risposta

7

Aggiungere il percorso della libreria CI come percorso di inclusione al progetto.

  1. Nel PHP Explorer, aprire il progetto e fare clic destro su percorsi di inclusione
  2. Selezionare Configura dal menu contestuale
  3. Poi, nella finestra di dialogo percorso di inclusione, selezionare la libreria scheda
  4. Fare clic su Aggiungi cartella esterna ...
  5. Sfoglia per una copia locale di CI e scegliere è directory di libreria (ovunque essa mantiene i file di classe)
  6. Clicca Fatto

Voilà, ci si va!

Si noti che è anche possibile definire i percorsi di inclusione al momento della creazione del progetto.

+0

Non ho potuto farlo funzionare. Quale cartella della libreria è quella? – Mukus

+1

Questa domanda e risposta hanno entrambi quattro anni e mezzo.Ormai sia CI che Zend Studio saranno cambiati in modo significativo. –

4

Come dice la risposta di Peter, aggiungere un percorso di inclusione è sicuramente il modo migliore per procedere. Tuttavia, ciò si basa sui docblock nel codice sorgente dell'elemento della configurazione per essere completi, accurati e non ambigui. Ad esempio, se un metodo @return viene 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 un'istanza di una particolare classe in questo modo:

/* @var $varName Some_Class_Name */ 
+1

Ottimo consiglio con la forzatura del tipo tramite commenti. In realtà non lo sapevo. +! –

2

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

testato in ZS 7.2.1

+0

Ho cercato questa rivelazione per tre ore lunghe e fastidiose. Grazie Jussi! – mattalxndr

0

sto utilizzando Zend Studio 9, questo è quello che ho fatto: Aggiungi il percorso della libreria CI come percorso di inclusione per il tuo 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); 
Problemi correlati