ide-helperはIDEを助けるためのファイルです。具体的には通常検知できない補完機能を機能させるためのファイルです。
例えばlaravel-ide-helperというライブラリがあります。
barryvdh/laravel-ide-helper: Laravel IDE Helper
laravel-ide-helperはLaravel内の補完不能なコードを補完可能にします。代表的なのがファサード機能の補完です。これは次の様に動作します。
\App::get()の実装情報を記述した_ide_helper.php内の定義を参照して補完、ジャンプができました。
この仕組みのカラクリは実は簡単です。実行されることのないグローバル配下ファイル(大体プロジェクトルート直下)にnamespace, class, methodの定義を列挙しているだけです。グローバルで参照されるファイルに記述されているため、どこからでも定義が合算して扱われるようになり補完機能が働くようになります。_ide_helper.phpというファイル名はわかりやすさのためにつけられているだけで*.phpなら何でも問題ないです。
これを利用することで好きにide-helperを作れます。例えば次の様にできます。
# _ide_helper_faker.php <?php // ja_JPロケールのみFaker\Generatorクラスに生えてくるプロパティ名とその実装箇所へのジャンプ namespace Faker { /** * @see \Faker\Provider\ja_JP\Person * @property string $kanaName * @property string $firstKanaName * @property string $firstKanaNameMale * @property string $firstKanaNameFemale * @property string $lastKanaName * @see \Faker\Provider\ja_JP\Company * @property string $companyPrefix * @see \Faker\Provider\ja_JP\Internet * @property string $lastNameAscii * @property string $firstNameAscii * @see \Faker\Provider\ja_JP\Address * @property string $postcode1 * @property string $postcode2 * @property string $prefecture * @property string $ward 区 * @property string $areaNumber 丁、番地、号 * @see \App\Faker\Providers\Address * @property string $addressDetail 市区町村以下 */ class Generator { } }
作成時には対象箇所の量と複雑さによってリフレクションか手書きか使い分けると比較的楽です。