9

我正在寻找一种好方法来为在 Zend Studio for Eclipse 中工作的 codeigniter 中的库获取自动完成和单击以供参考(无论叫什么)。

例如,如果我这样做 $this->load->library('dx_auth'); $this->dx_auth->get_user_id();

zend studio 不知道是什么..

有这种 hacky 方法可以做到(见下文,来源),但我觉得应该有更好的方法来做到这一点..

有人有想法么?

// 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();
4

4 回答 4

7

将 CI 的库路径添加为项目的包含路径。

  1. PHP Explorer中,打开您的项目并右键单击Include Paths
  2. 从上下文菜单中选择配置
  3. 然后在包含路径对话框中,选择选项卡
  4. 单击添加外部文件夹...
  5. 浏览到 CI 的本地副本并选择它的库目录(无论它保存这些类文件的位置)
  6. 点击完成

瞧,给你!

我应该注意,您还可以在项目创建时定义包含路径。

于 2009-07-03T16:56:13.383 回答
4

正如彼得的回答所指示的,添加包含路径绝对是最好的方法。然而,这依赖于 CI 源代码中的 docblocks 是完整、准确且不含糊的。例如,如果一个方法@return被声明为Some_Class|false,自动补全将不知道如何处理它。

要添加到彼得的答案,您还可以强制 PDT/Eclipse/ZSfE 将任何变量视为特定类的实例,如下所示:

/* @var $varName Some_Class_Name */
于 2009-07-03T17:48:13.287 回答
2

如果您从 SVN 等导入项目,那么您可能没有为该项目启用 PHP 支持。您可以通过右键单击您的项目 -> 配置 -> 添加 PHP 支持来启用它...

在 ZS 7.2.1 中测试

于 2010-08-26T11:42:41.417 回答
0

我正在使用 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);
于 2013-09-20T08:42:15.690 回答