<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                ## 注入具體依賴 服務容器有個非常強大特色,能夠綁定特定實例的接口。舉例,假設我們應用程序要集成 Pusher 服務去收發即時事件,如果使用 Pusher 的 PHP SDK,可以在類注入一個 Pusher 客戶端實例: ~~~ <?php namespace App\Handlers\Commands; use App\Commands\CreateOrder; use Pusher\Client as PusherClient; class CreateOrderHandler { /** * Pusher SDK 客戶端實例 */ protected $pusher; /** * 創建一個實例 * * @param PusherClient $pusher * @return void */ public function __construct(PusherClient $pusher) { $this->pusher = $pusher; } /** * 執行命令 * * @param CreateOrder $command * @return void */ public function execute(CreateOrder $command) { // } } ~~~ 在上面這個例子中,注入類的依賴到類中已經能夠滿足需求;但同時,我們也緊密耦合于 Pusher 的 SDK 。如果 Pusher 的 SDK 方法發生改變,或者我們要切換到別的事件服務,那我們也需要同時修改 CreateOrderHandler 的代碼。 ## 為接口編程 為了將 CreateOrderHandler 和事件推送的修改「隔離」,我們可以定義一個 EventPusher 接口和一個 PusherEventPusher 實現: ~~~ <?php namespace App\Contracts; interface EventPusher { /** * Push a new event to all clients. * * @param string $event * @param array $data * @return void */ public function push($event, array $data); } ~~~ 一旦 PusherEventPusher 實現這接口,就可以在服務容器像這樣注冊它: `$this->app->bind('App\Contracts\EventPusher', 'App\Services\PusherEventPusher');` 當有類需要 EventPusher 接口時,會告訴容器應該注入 PusherEventPusher,現在就可以在構造器中「類型指定」一個 EventPusher 接口: ~~~ /** * Create a new order handler instance. * * @param EventPusher $pusher * @return void */ public function __construct(EventPusher $pusher) { $this->pusher = $pusher; } ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看