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`
トレイトを使用しますイベント処理時の
\Event::fire(new FirstEvent()); //or use the helper function event(new FirstEvent());
ログイン後にコピー
などのメソッド タスクの削除、リセットなど。
-サブスクライバー
サブスクライバーは本質的にハンドラーであり、subscribe($event) メソッドを実装する必要があります。
$this->release(30); $this->delete();
ログイン後にコピー
購読するにはどうすればいいですか?
りー
わかりました。1 つのイベントは複数のハンドラーに対応でき、ハンドラーの実行順序はバインド順序と一致します。
サブスクライバーは複数のイベントをバインドできます
以上、Laravel5のコンテナ、コマンドバス、イベントを関連内容も含めて紹介しましたので、PHPチュートリアルに興味のある方の参考になれば幸いです。