この拡張パッケージは、正確なオートコンプリートを提供するために IDE が理解できるファイルを生成できます。関数 。この生成されたファイルはプロジェクト内に存在するファイルに基づいているため、常にライブ状態になります。もちろん、このファイルを手動で生成したくない場合は、事前に生成されたファイルを使用してプロジェクトのルート ディレクトリに置くこともできます (これらのファイルはリアルタイムではありません)。
注: Laravel 4.x については、ここを参照してください。
次の Composer コマンドを使用して拡張パッケージ関連の依存関係をインストールします。
composer require barryvdh/laravel-ide-helper
インストール後これが完了したら、app/config.php のプロバイダー オプションでサービス プロバイダーを登録する必要があります。
Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class,
この拡張パッケージを使用する前に、おそらく多くの人が PHPStorm を使用するときにファサードを自動的に完了できないという問題に遭遇したことがありますが、Laravel IDE Helper Generator が私たちに朗報をもたらしました。次のコマンドを使用して、ファサード完了情報を含むファイルを生成します:
php artisan ide-helper:generate
注: この前に bootstrap/compiled.php をクリアする必要があるため、phpArtisan Clear-compiled を実行する必要があります。生成する前に phpArtisanoptimize を実行します。
後の便宜のために、composer.json ファイルで次の構成を行うこともできます:
"scripts":{ "post-update-cmd": [ "php artisan clear-compiled", "php artisan ide-helper:generate", "php artisan optimize" ]},
また、構成ファイルを公開してデフォルトの実装を変更することもできます:
php artisan vendor:publish --provider="Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider" --tag=config
ジェネレーターは実際のクラスを見つけようとしますが、見つからない場合は、構成ファイルで定義できます。
一部のクラスではデータベース接続が必要です。対応するデータベース接続がないと、一部のファサードが含まれない場合があります。
どのヘルパー関数ファイルを含めるかを選択できます。このオプションはデフォルトでは有効になっていませんが、--helpers オプションを使用してデフォルトの設定をオーバーライドできます。 Illuminate/Support/helpers.php がデフォルトで導入されます。もちろん、設定ファイルにカスタム ヘルパー関数ファイルを追加することもできます。
この機能を使用する前に、doctrine/dbal をインストールする必要があります: ~2.3:
composer require doctrine/dbal
モデル属性を自分で書きたくない場合は、php 職人 ide-helper:models コマンドを使用して、データ テーブルのフィールド、リレーションシップ、およびゲッター/セッターに基づいて対応する phpDoc を生成できます。 --write (-W) オプションを渡すと、モデル ファイルにコメントを書き込むことができます。デフォルトでは、_ide_helper_models.php を上書きするか、別のファイルを作成する必要があります。変更せずに --nowrite (-N) を渡すこともできます。 。上書きや書き換えではなく、既存のものを保持し、新しいプロパティとメソッドを追加するだけなので、続行する前にモデル ファイルをバックアップする必要があることに注意してください。 phpdoc がすでに存在する場合は置き換えられます。それ以外の場合、--reset (-R) オプションを使用して追加すると、既存の phpdoc は無視され、新しいフィールド/リレーションシップが保存されます。
php artisan ide-helper:models Post
このコマンドは、ルート ディレクトリにファイル _ide_helper_models.php を生成します。
/** * An Eloquent Model: 'Post' * * @property integer $id * @property integer $author_id * @property string $title * @property string $text * @property \Carbon\Carbon $created_at * @property \Carbon\Carbon $updated_at * @property-read \User $author * @property-read \Illuminate\Database\Eloquent\Collection|\Comment[] $comments */
デフォルトでは、app/models 内のモデルが走査されます。次のメソッドを使用して、どのモデルが使用されているかを確認できます。
php artisan ide-helper:models Post User
を参照することもできます。 --dir オプション 追加のディレクトリ (ルート パスに基づく):
php artisan ide-helper:models --dir="path/to/models" --dir="app/src/Model"
設定ファイル (php 職人のベンダー:publish) を公開し、デフォルトのディレクトリを設定することも可能です。
モデルは --ignore (-I) オプションを使用して無視できます:
php artisan ide-helper:models --ignore="Post,User"
モデル名は名前空間でラップできます: phpArtisan ide-helper:models "APIUser"
は、Laravel の場合、PHPStorm メタ ファイルを生成して、PHPStorm に理解させることができることを意味します。 from IoCコンテナから取り出したオブジェクトタイプ。たとえば、イベントは IlluminateEventsDispatcher オブジェクトを返すため、メタ ファイルを通じて app('events') を呼び出すと、対応するディスパッチ メソッドが自動的に完了します。
php artisan ide-helper:meta
は、ルート ディレクトリに .phpstorm.meta.php ファイルを生成します。
app('events')->fire();\App::make('events')->fire();/** @var \Illuminate\Foundation\Application $app */$app->make('events')->fire();// When the key is not found, it uses the argument as class nameapp('App\SomeClass');
事前に構築された例: https://gist.github.com/barryvdh/bb6ffc5d11e0a75dba67
注: .phpstorm を確実にするには、PHPStorm を再起動する必要がある場合があります。 meta.php のインデックスが作成されました。