Я ищу хороший способ получить autocomplete и click-for-reference (независимо от того, что называется) для библиотек в codeigniter, работающих в Zend Studio для Eclipse.
например, если я делаю $ this-> load-> library ('dx_auth'); $ This-> dx_auth-> get_user_id ();
Зенд-студия не знает, что это такое ..
Существует такой хакерский способ сделать это (см. Ниже, источник ), но я чувствую, что должен быть лучший способ сделать это.
У кого-нибудь есть идеи?
// 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();
Добавьте путь библиотеки библиотеки CI в качестве пути к вашему проекту.
Войла, вот ты!
Следует отметить, что вы также можете определить include paths во время создания проекта.
Как указывает ответ Петра, добавление пути включения, безусловно, является лучшим способом. Однако это зависит от того, что докблоки в исходном коде CI являются полными, точными и не двусмысленными. Например, если методы @return
объявлены как Some_Class|false
, автозаполнение не будет знать, что с ним делать.
Чтобы добавить к ответу Питера, вы также можете заставить PDT / Eclipse / ZSfE обрабатывать любую переменную как экземпляр определенного класса, например:
/* @var $varName Some_Class_Name */
Если вы импортировали проект, например SVN, то у вас может не быть поддержки PHP для этого проекта. Вы можете включить его, щелкнув правой кнопкой мыши ваш проект -> configure -> добавить поддержку PHP …
Протестировано в ZS 7.2.1
Я использую zend studio 9, вот что я сделал: добавьте путь библиотеки CI как путь включения в ваш проект.
$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);