I'm looking for a good way to get autocomplete and click-for-reference (whatever that's called) for libraries in codeigniter working in Zend Studio for Eclipse.
for instance, if i do $this->load->library('dx_auth'); $this->dx_auth->get_user_id();
zend studio doesn't know what it is..
There is this sortof hacky way to do it (see below, source), but i feel like there should be a better way of doing it..
Anyone have any ideas?
// 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();
Add CI's library path as an include path to your project.
Voila, there you go!
I should note that you can also define include paths at the time of project creation.
As Peter's answer instructs, adding an include path is definitely the best way to go. However, this relies on the docblocks in the CI source code to be complete, accurate, and not ambiguous. For example, if a methods
@return is declared as
Some_Class|false, the autocompletion won't know what to do with it.
To add to Peter's answer, you can also force PDT/Eclipse/ZSfE to treat any variable as an instance of a particular class like so:
/* @var $varName Some_Class_Name */