php - cómo obtener zend studio autocompletar con codeigniter
autocomplete zend-studio (4)
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.
por ejemplo, si hago $ this-> load-> library (''dx_auth''); $ this-> dx_auth-> get_user_id ();
zend studio no sabe qué es ...
Esta es una forma estrafalaria de hacerlo (ver a continuación, fuente ), pero creo que debería 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();
Agregue la ruta de la biblioteca de CI como una ruta de inclusión a su proyecto.
- En PHP Explorer , abra su proyecto y haga clic derecho en Incluir rutas
- Seleccione Configurar en el menú contextual
- Luego, en el diálogo de ruta de inclusión, selecciona la pestaña Biblioteca
- Haga clic en Agregar carpeta externa ...
- Busque una copia local de CI y elija su directorio de biblioteca (donde sea que guarde esos archivos de clase)
- Click Hecho
Voila, ¡ahí tienes!
Debo señalar que también puede definir incluir rutas en el momento de la creación del proyecto.
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 agregar a la respuesta de Peter, también puede forzar a PDT / Eclipse / ZSfE a tratar cualquier variable como una instancia de una clase en particular como esta:
/* @var $varName Some_Class_Name */
Si ha importado el proyecto de, por ejemplo, SVN, es posible que no tenga habilitada la compatibilidad con PHP para este proyecto. Puede habilitarlo haciendo clic con el botón derecho en su proyecto -> configurar -> agregar soporte de PHP ...
Probado en ZS 7.2.1
Estoy usando zend studio 9, eso es lo que hice: agregue la ruta de biblioteca de CI como una ruta de inclusión para 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);