2

一直试图让 Zend Studio 自动完成 CodeIgniter。尽管没有运气,但偶然发现了这个 stackoverflow 答案。我已将系统/库添加到 PHP 包含路径,但当我打开控制器并尝试自动完成工作($this->db)时,什么也没有出现。

我在 google 上搜索了一下,我能找到的唯一答案就是我附上的那个。

如果有人以前尝试过,也许他可以告诉我我错在哪里,在此先感谢。

4

1 回答 1

0

让智能感知工作的一种方法是创建一个虚拟 CI 控制器,例如 -

<?php
class CI_Controller {
/**
 *
 * @var CI_DB_active_record
 */
public $db;

/**
 *
 * @var CI_Loader
 */
public $load;

/**
 *
 * @var CI_Output
 */
public $output;

/**
 *
 * @var CI_Email
 */
public $email;

/**
 *
 * @var CI_Session
 */
public $session;

/**
 *
 * @var CI_Config
 */
public $config;

/**
 *
 * @var CI_Benchmark
 */
public $benchmark;

/**
 *
 * @var CI_Calendar
 */
public $calendar;

/**
 *
 * @var CI_Cart
 */
public $cart;

/**
 *
 * @var CI_Encrypt
 */
public $encrypt;

/**
 *
 * @var CI_Upload
 */
public $upload;

/**
 *
 * @var CI_Form_validation
 */
public $form_validation;

/**
 *
 * @var CI_FTP
 */
public $ftp;

/**
 *
 * @var CI_Table
 */
public $table;

/**
 *
 * @var CI_Image_lib
 */
public $image_lib;

/**
 *
 * @var CI_Input
 */
public $input;

/**
 *
 * @var CI_Language
 */
public $lang;

/**
 *
 * @var CI_Pagination
 */
public $pagination;

/**
 *
 * @var CI_Trackback
 */
public $trackback;

/**
 *
 * @var CI_Parser
 */
public $parser;

/**
 *
 * @var CI_Typography
 */
public $typography;

/**
 *
 * @var CI_Unit_test
 */
public $unit;

/**
 *
 * @var CI_URI
 */
public $uri;

/**
 *
 * @var CI_User_agent
 */
public $agent;

/**
 *
 * @var CI_Xmlrpcs
 */
public $xmlrpcs;

/**
 *
 * @var CI_Xmlrpc
 */
public $xmlrpc;

/**
 *
 * @var CI_Zip
 */
public $zip;

    }

创建另一个类以获取它的实例 -

<?php
/**
* 
* Enter description here ...
* @return CI_Controller
*/
function get_instance()
{

}

将它们命名为 Dummy_CIController.php 和 Dummy_Factory.php 并将它们放在 /applications/libraries 文件夹中。

由于您还需要模型的智能感知,因此创建 Dummy_CIModel.php,它包含 Dummy_CIController.php 除了扩展 CI_Model 之外的所有内容。

您稍后可能希望通过从控制器中删除 db intellisense 来进行一些清理,因为您不想直接从控制器调用数据库。

于 2013-12-31T05:38:58.573 回答