<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 功能強大 支持多語言、二開方便! 廣告
                # 模塊設計 > 5\.1版本默認采用多模塊的架構,并且支持單一模塊設計,所有模塊的命名空間均以`app`作為根命名空間(可通過環境變量更改)。 ## 目錄結構 標準的應用和模塊目錄結構如下: ``` ├─application 應用目錄(可設置) │ ├─common 公共模塊目錄(可選) │ ├─module1 模塊1目錄 │ │ ├─common.php 模塊函數文件 │ │ ├─config 模塊配置目錄(可選) │ │ ├─controller 控制器目錄 │ │ ├─model 模型目錄(可選) │ │ ├─view 視圖目錄(可選) │ │ └─ ... 更多類庫目錄 │ │ │ ├─module2 模塊2目錄 │ │ ├─common.php 模塊函數文件 │ │ ├─config 模塊配置目錄(可選) │ │ ├─controller 控制器目錄 │ │ ├─model 模型目錄(可選) │ │ ├─view 視圖目錄(可選) │ │ └─ ... 更多類庫目錄 ``` > 模塊的配置目錄也可以放到外面的config目錄的模塊子目錄下面。 遵循ThinkPHP`5.1`的命名規范,模塊目錄全部采用**小寫和下劃線**命名。 > 模塊名稱請避免使用PHP保留關鍵字(保留字列表參見 <http://php.net/manual/zh/reserved.keywords.php> ),否則會造成系統錯誤。 其中`common`模塊是一個特殊的模塊,默認是禁止直接訪問的,一般用于放置一些公共的類庫用于其他模塊的繼承。 ## 模塊類庫 一個模塊下面的類庫文件的命名空間統一以`app\模塊名`開頭,例如: ``` // index模塊的Index控制器類 app\index\controller\Index // index模塊的User模型類 app\index\model\User ``` ## 模塊和控制器隱藏 由于默認是采用多模塊的支持,所以多個模塊的情況下必須在URL地址中標識當前模塊,如果只有一個模塊的話,可以在入口文件中進行模塊綁定: ``` <?php // [ 應用入口文件 ] namespace think; // 加載基礎文件 require __DIR__ . '/../thinkphp/base.php'; // 執行應用并響應(綁定當前訪問到index模塊) Container::get('app')->bind('index')->run()->send(); ``` 綁定后,我們的URL訪問地址則變成: > #### [http://serverName/index.php/控制器/操作/\[參數名/參數值...\]](http://serverName/index.php/%E6%8E%A7%E5%88%B6%E5%99%A8/%E6%93%8D%E4%BD%9C/%5B%E5%8F%82%E6%95%B0%E5%90%8D/%E5%8F%82%E6%95%B0%E5%80%BC...%5D) 訪問的模塊是`index`模塊。 如果你的應用比較簡單,模塊和控制器都只有一個,那么可以在應用公共文件中綁定模塊和控制器,如下: ``` // 綁定當前訪問到index模塊的index控制器 Container::get('app')->bind('index/index')->run()->send(); ``` 設置后,我們的URL訪問地址則變成: > #### [http://serverName/index.php/操作/\[參數名/參數值...\]](http://serverName/index.php/%E6%93%8D%E4%BD%9C/%5B%E5%8F%82%E6%95%B0%E5%90%8D/%E5%8F%82%E6%95%B0%E5%80%BC...%5D) 訪問的模塊是`index`模塊,控制器是`Index`控制器。 ## 單一模塊 如果你的應用比較簡單,只有唯一一個模塊,那么可以進一步簡化成使用單一模塊結構,方法如下: 首先在應用配置文件中定義: ``` // 關閉多模塊設計 'app_multi_module' => false, ``` 然后,調整應用目錄的結構為如下: ``` ├─application 應用目錄(可設置) │ ├─controller 控制器目錄 │ ├─model 模型目錄 │ ├─view 視圖目錄 │ ├─ ... 更多類庫目錄 │ └─common.php 函數文件 ``` URL訪問地址變成 > #### [http://serverName/index.php(或者其它應用入口)/控制器/操作/\[參數名/參數值...\]](http://serverName/index.php%EF%BC%88%E6%88%96%E8%80%85%E5%85%B6%E5%AE%83%E5%BA%94%E7%94%A8%E5%85%A5%E5%8F%A3%EF%BC%89/%E6%8E%A7%E5%88%B6%E5%99%A8/%E6%93%8D%E4%BD%9C/%5B%E5%8F%82%E6%95%B0%E5%90%8D/%E5%8F%82%E6%95%B0%E5%80%BC...%5D) 同時,單一模塊設計下的應用類庫的命名空間也有所調整,例如: 原來的 ``` app\index\controller\Index app\index\model\User ``` 變成 ``` app\controller\Index app\model\User ``` 更多的URL簡化和定制還可以通過URL路由功能實現。 > 單一模塊方式仍然可以通過多級控制器的方式來管理控制器層次 ## 空模塊 可以把不存在的模塊訪問統一指向一個空模塊,設置: ``` // 設置空模塊名為home 'empty_module' => 'home', ``` 如果訪問了一個不存在的模塊,系統會指向home模塊進行訪問。 > 空模塊只有開啟多模塊訪問,并且沒有綁定模塊的情況下才有效。 ## 環境變量 5\.1版本取消了所有的系統常量,原來的系統路徑變量改為使用`Env`類獲取(需要引入`think\facade\Env`): 例如: ``` // 獲取應用目錄(不區分大小寫) echo Env::get('app_path'); // 或者 echo Env::get('APP_PATH'); ``` 支持獲取的系統路徑變量包括: 系統路徑Env參數名稱應用根目錄root\_path應用目錄app\_path框架目錄think\_path配置目錄config\_path擴展目錄extend\_pathcomposer目錄vendor\_path運行緩存目錄runtime\_path路由目錄route\_path當前模塊目錄module\_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>

                              哎呀哎呀视频在线观看