2009-07-03 13 views
9

Estoy buscando una buena manera de obtener autocompletar y hacer clic de referencia (como se llame) para las bibliotecas en codeigniter que trabajan en Zend Studio para Eclipse.cómo obtener zend studio autocompletar con codeigniter

por ejemplo, si lo hago $ this-> load-> library ('dx_auth'); $ this-> dx_auth-> get_user_id();

estudio zend no sabe lo que es ..

Hay esta manera sortof hacky para hacerlo (véase más adelante, source), pero siento que debe haber una mejor manera de hacerlo ..

¿Alguien tiene alguna 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(); 

Respuesta

7

Agregue la ruta de la biblioteca de CI como una ruta de inclusión para su proyecto.

  1. En el Explorador de PHP, abra su proyecto y haga clic en incluyen rutas
  2. Seleccionar Configurar en el menú contextual
  3. Luego, en el cuadro de diálogo ruta de inclusión, seleccione la Biblioteca pestaña
  4. Haga clic en Agregar carpeta externa ...
  5. Examinar para una copia local de CI y elija su directorio de la biblioteca (donde quiera que mantiene los archivos de clase)
  6. Haga clic Hecho

Voila, hay que ir!

Debo notar que también puede definir rutas de acceso en el momento de la creación del proyecto.

+0

No pude conseguir esto funcionando. ¿Qué carpeta de biblioteca es esa? – Mukus

+1

Esta pregunta y respuesta tienen cuatro años y medio de antigüedad.Por ahora tanto CI como Zend Studio habrán cambiado significativamente. –

4

Como indica la respuesta de Peter, agregar una ruta de inclusión es definitivamente la mejor manera de hacerlo. Sin embargo, esto depende de que los docblocks en el código fuente de CI sean completos, precisos y no ambiguos. Por ejemplo, si un método @return se declara como Some_Class|false, el autocompletado no sabrá qué hacer con él.

Para añadir a la respuesta de Pedro, también se puede forzar PDT/Eclipse/ZSfE para tratar cualquier variable como una instancia de una clase particular de este modo:

/* @var $varName Some_Class_Name */ 
+1

Gran consejo con el tipo de forcing a través de comentarios. De hecho, no lo sabía. +! –

2

Si ha importado el proyecto de ejemplo, como SVN, entonces es posible que no tenga habilitada la compatibilidad con PHP para este proyecto. Puede activarlo haciendo clic derecho en su proyecto -> Configurar -> agrega soporte para PHP ...

Probado en ZS 7.2.1

+0

He estado buscando esta revelación durante tres largas y molestas horas. Gracias Jussi! – mattalxndr

0

estoy usando Zend Studio 9, que es lo que hice: Agregue la ruta de la biblioteca de CI como una ruta de inclusión a su proyecto.

$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); 
Cuestiones relacionadas