bind メソッドについて: - $app->make() の場合、両方とも新しいインスタンスを返します
$this->app->bind('App\DAO\UserDAO',function(){
return new UserDAOImpl();
});
$this->app->bind('App\DAO\UserDAO','App\DAO\Impl\UserDAOImpl');
- bind はエイリアスを設定することもできます。 , 次のように、最初のパラメータは配列に渡され、キーはエイリアス、値はインターフェイス名です
- $this->app->bind(['dao.user' => 'App\DAO\UserDAO'],'App\DAO\Impl\UserDAOImpl');
- 3 番目のパラメータは true、つまりシングルトンの効果は同じです
$this->app->bind(['dao.user' => 'App\DAO\UserDAO'],'App\DAO\Impl\UserDAOImpl', true);
commandbushurnesenceensenceは、関連する方法への呼び出しのコレクションです - コマンドを生成します。は具体的な実行内容であり、handleメソッドはIoCをサポートしています。
- Call Command 次のように、コントローラーでディスパッチ メソッドを呼び出します。 デフォルトのコントローラーには `trait DispatchesCommands`
があるため、ディスパッチ メソッドを持ちます。次のコマンドがコントローラーで実行されると、FirstCommand::handle() の内容が実行されます
php artisan make:command FirstCommand
- Queue Command
Parameters は、`IlluminateContractsQueueShouldBeQueued`
インターフェイスと
`SerializesModels` を追加します特性。 このインターフェイスにはメソッドはなく、マーカー (instanceof) だけがあります。
- パイプライン コマンド (TODO)
Event イベント
-
イベント クラスの生成 `EventServiceProvider` の listen 属性にイベント名とハンドラーの名前を追加します。例:
$this->dispatch(new FirstCommand());
コマンド
`phpArtisanevent:generate`
を実行すると、$listenの内容に基づいて対応するファイルが生成され、すでに生成されたファイルは上書きされません。 -
イベントの処理イベントの登録はブート時の`EventServiceProvider`で完了します。 Hanlder の handle メソッドは FirstEvent パラメータを受け入れ、handle は処理メソッドです。
- トリガーイベント
protected $listen = [
'App\Events\FirstEvent' => [
'App\Handlers\Events\FirstEventHandler',
],
];
-
Queueイベントと
`IlluminateContractsQueueShouldBeQueued`
タグを同時に使用し、`IlluminateQueueInteractsWithQueue`
トレイトを使用しますイベント処理時の
<span style="white-space:pre"> </span>\Event::fire(new FirstEvent());
//or use the helper function
event(new FirstEvent());
などのメソッド タスクの削除、リセットなど。
- サブスクライバー
サブスクライバーは本質的にハンドラーであり、subscribe($event) メソッドを実装する必要があります。
$this->release(30);
$this->delete();
購読するにはどうすればいいですか?
りー
わかりました。 1 つのイベントは複数のハンドラーに対応でき、ハンドラーの実行順序はバインド順序と一致します。
サブスクライバーは複数のイベントをバインドできます
以上、Laravel5のコンテナ、コマンドバス、イベントを関連内容も含めて紹介しましたので、PHPチュートリアルに興味のある方の参考になれば幸いです。