2

Zend Studio で CodeIgniter をオートコンプリートしようとしています。運はありませんが、このスタックオーバーフローの回答に出くわしました。PHP インクルード パスにシステム/ライブラリを追加しましたが、コントローラを開いてオート コンプリートを機能させようとしても ($this->db)、何も表示されません。

Google で quiet を少し検索しましたが、見つけた唯一の答えは添付したものでした。

誰かが以前にそれを試みた場合、おそらく彼は私が間違っている場所を教えてくれるかもしれません。よろしくお願いします。

4

1 に答える 1

0

インテリセンスを機能させる 1 つの方法は、次のようなダミーの 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_CIController.php が CI_Model を拡張する以外はすべて持っている Dummy_CIModel.php を作成します。

コントローラーからデータベースを直接呼び出したくないので、コントローラーから db intellisense を削除して、後でクリーンアップを行うことができます。

于 2013-12-31T05:38:58.573 に答える