非常に古いが、まだ適切な質問への回答 -
ここでより良い解決策を見つけました - http://validwebs.com/346/code-completion-for-codeigniter-in-phpstorm/偶然にも、同じ作者/プロジェクト所有者のJeff Behnkeによるものです。
そこからの引用は、サビールによる回答の続きで読む必要があります-
プレーンテキストとしてマーク
/system/core/Controller.php
/system/core/Model.php
/system/database/DB_active_rec.php
これらのファイルをプレーン テキストとしてマークすると、phpStorm がそれらをソースとしてインデックス化するのを停止します。
リンクの解決策は、実行された手順の背後にある理論的根拠を説明しているため、より適切だと思います。
さらに、ビューでコード補完を実現し、未定義の変数を修正する方法についても説明します。
ここで簡単に参照および保存できるように、元のソースからもう一度引用します。
ビューでのコード補完と未定義の変数の修正。
コントローラーコードの例。
public function index()
{
// Example view vars
$data['test'] = 'Testing vars in CodeIgniter! This is from $data["test"].';
$this->load->view('welcome_message', $data);
}
CI の方法でビューにデータ配列を追加しました。配列内の各インデックスは別の変数です。
ビュー…</p>
phpStorm では、$test は未定義の変数として強調表示されます。これを修正するために、phpDoc アノテーションを使用します。
<p style="font-weight: bold;">
<?php
/**
* $data array holds the $test value
*
* @see Welcome::index()
* @var Welcome $test
*/
echo $test;
?>
</p>
このように文書化すると、phpStorm のエラー/警告が修正されるだけでなく、$test の文書化ポップアップも表示されます。また、@see はそれが作成された場所 (この場合は Welcome クラスの index メソッド) にリンクします。
var が定義され、定義されていることが示されます。
このメソッド リンクを Ctrl+クリックすると、$test が定義されているメソッドに移動します。
プロジェクトにカスタマイズを追加しているときに、私自身の発見がいくつかあります。
CI のカスタム アプリケーション ライブラリをオートコンプリートでも使用できるようにする場合は、次の 2 つのシナリオが役立ちます。
1. CI_Upload クラスを拡張する MY_Upload などのカスタム拡張ライブラリの場合
CI_phpstorm.php@property CI_Upload $upload
で置き換え@property MY_Upload $upload
ます
これにより、CI_Upload に加えて、MY_Upload のすべてのクラス変数と関数名がオートコンプリートで使用できるようになります。
2. CI アプリケーション内でゼロから作成された完全なカスタム ライブラリの場合 -
たとえば、application/libraries フォルダーにある Custom_Library.php からのオートコンプリートを有効にするには、CI_phpstorm.php の php ドキュメントに追加する必要があります。@property Custom_Library $custom_library