<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>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                所有的服務提供者都應繼承 Illuminate\Support\ServiceProvider 此一類。在這個抽象類中,至少必須定義一個方法: register 。在 register 方法中,應該只綁定服務到服務容器之中。你永遠不該試圖在 register 方法中注冊任何事件監聽器、路由或任何其他功能。 Artisan 命令行接口可以很容易地通過 make:provider 產生新的提供者: `php artisan make:provider RiakServiceProvider` ## 注冊者方法 現在,讓我們來看看基本的服務提供者: ~~~ <?php namespace App\Providers; use Riak\Connection; use Illuminate\Support\ServiceProvider; class RiakServiceProvider extends ServiceProvider { /** * 在容器中注冊綁定。 * * @return void */ public function register() { $this->app->singleton('Riak\Contracts\Connection', function($app) { return new Connection($app['config']['riak']); }); } } ~~~ 這個服務提供者只定義了一個 register 方法,并在服務容器中使用此方法定義了一份 Riak\Contracts\Connection 的實現。若你還不了解服務容器是如何運作的,不用擔心,我們很快會提到它。 此類位于 App\Providers 命名空間之下,因為這是 Laravel 中默認服務提供者所在的位置。然而,你可以隨自己的需要改變它。你的服務提供者可被置于任何 Composer 能自動加載的位置。 ## 啟動方法 所以,若我們需要在服務提供者中注冊一個事件監聽器,該怎么做?它應該在 boot 方法中完成。這個方法會在所有的服務提供者注冊后才被調用,這能讓你使用框架中其他所有已注冊過的服務。 ~~~ <?php namespace App\Providers; use Event; use Illuminate\Support\ServiceProvider; class EventServiceProvider extends ServiceProvider { /** * 執行注冊后的啟動服務。 * * @return void */ public function boot() { Event::listen('SomeEvent', 'SomeEventHandler'); } /** * 在容器中注冊綁定。 * * @return void */ public function register() { // } } ~~~ 我們可以對 boot 方法中的依賴作類型提示。服務容器會自動注入任何你所需要的依賴: ~~~ use Illuminate\Contracts\Events\Dispatcher; public function boot(Dispatcher $events) { $events->listen('SomeEvent', 'SomeEventHandler'); } ~~~
                  <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>

                              哎呀哎呀视频在线观看