ホームページ >バックエンド開発 >PHPチュートリアル >Laravel5のコンテナ、コマンドバス、イベントについて

Laravel5のコンテナ、コマンドバス、イベントについて

WBOY
WBOYオリジナル
2016-08-08 09:24:431702ブラウズ
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チュートリアルに興味のある方の参考になれば幸いです。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。