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

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                https://www.php.cn/phpkj/thinkphp/455149.html tp6中的助手函數app(),是一個包含極廣,涵蓋極深,作用巨大的助手函數,他可以調用很多方法,也是很多助手函數 的集合。 首先這是在helper.php中定義的一個助手函數,我們來看一下: 1 2 3 4 5 6 7 8 9 10 11 12 if (!function\_exists('app')) { ????/\*\* ?????\* 快速獲取容器中的實例 支持依賴注入 ?????\* @param string $name??????? 類名或標識 默認獲取當前應用實例 ?????\* @param array? $args??????? 參數 ?????\* @param bool?? $newInstance 是否每次創建新的實例 ?????\* @return object|App ?????\*/ ????function app(string $name = '', array $args = \[\], bool $newInstance = false) ????{ ????????return Container::getInstance()->make($name ?: App::class, $args, $newInstance); ????}} 這個函數如果你不帶任何參數直接打印是這樣的: halt(app()); 不帶參數直接調用了think下的App類。 當你帶上參數后它就調用了容器類Container。 容器類中裝載了絕大多數我們常用的具有27種之多的依賴注入類。 如下: 在任何時候我們都可以往容器中注入新的類。 比如我們注入一個Upgrade類到容器中: 1 2 bind('settings','app\\admin\\controller\\Upgrade');或者:bind('settings',Upgrade::class);或者: Container::getInstance()->bind('settings', Upgrade::class) 如圖: 調用容器中類: 調用方式: 1 2 app('settings')->upgradeTask($this->request);或: Container::getInstance()->make('settings')->upgradeTask($this->request) 也就是app()助手函數不僅可以直接獲取App類中的方法,還可以獲取容器中所有的依賴注入類中的方法。容器是用來更方便的管理類依賴及運行依賴注入的工具。 依賴注入其實本質上是指在構造函數中對其他需要使用的類迅速實例化。 依賴注入的類統一由容器進行管理。 例如我們很多助手函數: 助手函數 描述 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 abort?? 中斷執行并發送HTTP狀態碼 app 快速獲取容器中的實例 支持依賴注入 bind??? 快速綁定對象實例 cache?? 緩存管理 class\_basename? 獲取類名(不包含命名空間)class\_uses\_recursive?? 獲取一個類里所有用到的traitconfig? 獲取和設置配置參數 cookie? Cookie管理 download??? 獲取\\think\\response\\Download對象實例 dump??? 瀏覽器友好的變量輸出 env 獲取環境變量 event?? 觸發事件 halt??? 變量調試輸出并中斷執行 input?? 獲取輸入數據 支持默認值和過濾 invoke? 調用反射執行callable 支持依賴注入 json??? JSON數據輸出 jsonp?? JSONP數據輸出 lang??? 獲取語言變量值 parse\_name? 字符串命名風格轉換 redirect??? 重定向輸出 request 獲取當前Request對象 response??? 實例化Response對象 session Session管理 token?? 生成表單令牌輸出 trace?? 記錄日志信息 trait\_uses\_recursive??? 獲取一個trait里所有引用到的traiturl??? Url生成 validate??? 實例化驗證器 view??? 渲染模板輸出 display 渲染內容輸出 xml XML數據輸出 app\_path??? 當前應用目錄 base\_path?? 應用基礎目錄 config\_path 應用配置目錄 public\_path web根目錄 root\_path?? 應用根目錄 runtime\_path??? 應用運行時目錄 在APP()助手函數面前只能算是小弟,因為只用一個app()函數就可以替代絕大部分的助手函數。 舉例: 1 2 3 例如我們調用配置文件: config() 實際我們可以這樣寫:app('config')->get()又例如:request()->time() 可以寫作:app('request')->time() 對于其他的助手函數,app()都是一樣打包全收。 以上就是快來了解下TP6中的超級函數app()!的詳細內容,更多請關注php中文網其它相關文章!
                  <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>

                              哎呀哎呀视频在线观看