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

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                [TOC] ### 組件說明 > hook組件其實就是一個全局的鉤子,可以在相應的地方綁定、觸發事件。 ### 配置選項 | 配置名 | 參數類型 | 可選 | 默認值 | 說明 | | --- | --- | --- | --- | --- | | class | string | 是 | lying\service\Hook | 不可更改 | | events | array | 是 | [] | | ### 示例配置 ~~~php 'hook' => [ 'class' => 'lying\service\Hook', //完整類名,可以不寫,因為是核心組件 'events' => [ ['frameworkError', function ($event) {}], ['frameworkBegin', function () {}], ['frameworkEnd', ['Timer', 'tick']], ], ], ~~~ > 這邊的配置,其實就是在框架加載之前把相應的事件名和回調綁定到hook組件上,但是也因為如此,預先綁定的回調無法使用自動加載和未定義的參數以及變量。 配置的格式,events為一個數組,里面包含N個`[事件名稱, callback, 默認事件參數]`形式的的數組,其中默認事件參數不是必須的。 ### 調用方式 ~~~php \Lying::$maker->hook(); \Lying::$maker->hook; \Lying::$maker->get('hook'); ~~~ ### 在其他地方綁定事件 事件除了在配置文件預先定義和綁定之外,還可以再程序運行中進行綁定: ~~~php \Lying::$maker->hook->on('frameworkEnd', function ($event) { var_dump($event->sender); }); ~~~ ### 移除事件 ~~~php $call = function ($event) {}; //卸載指定事件 \Lying::$maker->hook->off('frameworkEnd', $call); //卸載所有事件 \Lying::$maker->hook->off('frameworkEnd'); ~~~ ### 觸發事件 ~~~php \Lying::$maker->hook->trigger('frameworkEnd', new Event()); ~~~ * 事件按順序觸發,如果某一個事件返回了false,或者事件的參數$event->stop設置為true,則后面的事件都不會再觸發。 ### 其他事件 請參考[事件章節](event.md)
                  <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>

                              哎呀哎呀视频在线观看