<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之旅 廣告
                ### 依賴注入 框架提供了方便的依賴注入機制,可大大減少代碼量提高開發效率,依賴注入使用了系統的 App 服務完成,系統中的控制器方法、路由閉包等均在依賴注入控制范圍內。 [TOC] ### 控制器 控制器中的方法是系統(路由)調用的,我們可以在控制器的參數設置類型修飾,系統會自動分析而 進行注入。 ~~~ <?php namespace app\index\controller; use hepps\reqrest\Request; class Entry { public function index( Request $r ) { //系統會自動注入 Request對象 至$r變量 } } ~~~ 不過由于框架所提供的類均可以實現靜態調用,所以以上方法所注入到的不是該類真正的實例,如果想要注入到真正的實例修改命名空間在類前面加上build 如: ~~~ <?php namespace app\index\controller; use hepps\reqrest\build\Request; class Entry { public function index( Request $r ) { //系統會自動注入 Request對象 至$r變量 } } ~~~ 也可以調用容器提供的方法來自己實現依賴注入 ~~~ /** * 反射自動依賴注入執行一個函數 * @param [type] $func [函數名或者閉包函數] * @param [type] $args [參數 可以不提供] * @return [type] [description] */ public function invokeFunction($func, $args = []) 調用方法 App::invokeFunction($func, $args = []); ~~~ ~~~ /** * 自動依賴注入執行一個類方法 * @param [type] $class [對象或者類名] * @param [type] $method [需要執行的方法] * @param [type] $args [參數 可以不提供] * @return [type] [description] */ public function invokeMethod($class, $method, $args = []) 調用方法 App::invokeMethod($class, $method, $args = []); ~~~ ## 方法介紹 #### 執行一個閉包函數 ~~~ $func = function($str = 'hello world') { echo $str; }; App::invokeFunction($func); ~~~ 輸出 `hello world` #### 傳入參數 ~~~ $func = function($str = 'hello world') { echo $str; }; App::invokeFunction($func, ['str'=> 'hello']); ~~~ 輸出`hello` #### 執行一個類方法 ~~~ App::invokeMethod('\hepps\config\build\Base', 'get', ['name'=>'app.app_path']); ~~~ 輸出app下面app_path的值 第一個參數傳入類名稱或者類對象都可以
                  <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>

                              哎呀哎呀视频在线观看