codeigniter で Zend Studio オートコンプリートを取得する方法
-
22-08-2019 - |
質問
Zend Studio for Eclipse で動作する codeigniter のライブラリのオートコンプリートとクリックフォーリファレンス (名前は何でも) を取得する良い方法を探しています。
たとえば、$ this-> load-> library( 'dx_auth')を実行する場合。$this->dx_auth->get_user_id();
zend スタジオはそれが何なのかわかりません。
これを行うためのこの種のハックな方法があります (以下を参照) ソース)しかし、もっと良い方法があるはずだと感じています。
何かアイデアがある人はいますか?
// 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 のライブラリ パスをインクルード パスとしてプロジェクトに追加します。
- の中に PHP エクスプローラー, 、プロジェクトを開いて右クリックします。 パスを含める
- 選択する 構成、設定 コンテキストメニューから
- 次に、インクルード パス ダイアログで、 図書館 タブ
- クリック 外部フォルダーを追加...
- CI のローカル コピーを参照し、そのライブラリ ディレクトリ (クラス ファイルが保存されている場所) を選択します。
- クリック 終わり
ほら、それでいいよ!
プロジェクトの作成時にインクルード パスを定義することもできることに注意してください。
他のヒント
ピーターの答えは指示通り、インクルードパスを追加すると、間違いなく行くための最良の方法です。しかし、これは、完全、正確、かつ曖昧でないことがCIのソースコード内にdocblockに依存しています。メソッドの@return
がSome_Class|false
として宣言された場合、自動補完はそれで何をすべきかを知ることができません。
ピーターの答えに追加するには、あなたもそうのような特定のクラスのインスタンスとして任意の変数を治療するためのPDT /エクリプス/ ZSfEを強制することができます:
/* @var $varName Some_Class_Name */
、SVNのように、あなたは、このプロジェクトのために有効にPHPをサポートしていない可能性があります。
...> PHPのサポートを追加 - >のconfigure - あなたは右のプロジェクトをクリックして有効にすることができますZS 7.2.1でテスト
私は、Zendのスタジオ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);