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

                [TOC] ## 簡介 在本節里,我們介紹一下 ThinkPHP 生成的項目目錄結構以及使用 **多應用** 模式開發生成的 ThinkBBS 項目目錄結構。 ## ThinkPHP項目目錄結構 ThinkPHP 默認創建的項目是單應用模式,以下是框架為我們生成的 ThinkBBS 項目目錄結構。如 [官方文檔](http://www.hmoore.net/manual/thinkphp6_0/1037483) 所說應用目錄下的 `BaseController.php`、`Request.php` 和 `ExceptionHandle.php` 三個文件是系統默認提供的基礎文件,我們可以隨意移動或刪除這三個文件。不過需要注意的是移動文件時需要同步調整命名空間,而刪除或修改 `Request.php` 和 `ExceptionHandle.php` 類名時,必須同步調整 `provider.php` 文件中的容器對象綁定。 ``` . 項目根目錄 ├── app 應用目錄 │?? ├── BaseController.php 控制器基礎類 │?? ├── common.php 公共函數文件 │?? ├── controller 控制器目錄 │?? │?? └── Index.php │ │ │?? ├── event.php 事件定義文件 │?? ├── ExceptionHandle.php 應用異常處理類 │?? ├── middleware.php 全局中間件定義文件 │?? ├── provider.php 容器Provider定義文件 │?? └── Request.php 應用請求對象類 │ ├── config 配置目錄 │?? ├── app.php 應用配置 │?? ├── cache.php 緩存配置 │?? ├── console.php 控制臺配置 │?? ├── cookie.php Cookie設置 │?? ├── database.php 數據庫配置 │?? ├── filesystem.php 文件磁盤配置 │?? ├── lang.php 多語言配置 │?? ├── log.php 日志配置 │?? ├── middleware.php 中間件配置 │?? ├── route.php URL和路由配置 │?? ├── session.php Session配置 │?? ├── trace.php Trace配置 │?? └── view.php 視圖配置 │ ├── public WEB目錄(對外訪問目錄) │?? ├── favicon.ico 網站頭像文件 │?? ├── index.php 入口文件 │?? ├── robots.txt Robots配置文件 │?? ├── router.php 快速測試文件 │?? └── static 用于apache的重寫 │ ├── route 路由定義目錄 │?? └── app.php 路由定義文件 │ ├── composer.json composer 定義文件 ├── extend 擴展類庫目錄 ├── LICENSE.txt 授權說明文件 ├── README.md README 文件 ├── runtime 應用的運行時目錄(可寫,可定制) ├── think 命令行入口文件 ├── vendor Composer類庫目錄 └── view 視圖目錄 ``` ## 為什么使用多應用模式開發 在這里,我們簡單介紹一下本項目使用多應用模式開發的原因。雖然 ThinkPHP6.0 默認是使用單應用模式開發項目,而在這里我們使用多應用模式開發是因為: 1. 整個項目的前后臺應用的使用者和操作行為的關聯性不大,另外當開發的項目比較龐大或前后端關聯性不強時大家通常都會選擇前后臺分離開發; 2. 多應用開發比單應用模式復雜(ps: 同時由于框架版本屬于剛發布,還沒有完全穩定,遇到 Bug 的概率也比較大),所以當你掌握多應用開發后可以快速掌握單應用模式開發。 ## ThinkBBS 目錄結構 遵循 [開發規范](../c1_base/01060_開發規范.md) , 在本教程里我們按多應用模式來開發 ThinkBBS,我們會創建以下三個應用: 1. **后臺應用**(admin)—— 主要實現后臺管理頁面,通常只有控制器和視圖模板代碼; 2. **前臺應用**(index)—— 主要實現前臺用戶頁面,通常也只有控制器和視圖模板代碼; 3. **共用應用**(common)—— 主要包含前后臺應用共用的數據模型(model)、驗證器(validate)和異常(Exception)等內容代碼。 首先,我們需要安裝擴展 `think-multi-app` 使項目變成多應用模式開發: ```shell $ composer require topthink/think-multi-app ``` 接下來,我們用 [think build](http://www.hmoore.net/manual/thinkphp6_0/1037643) 命令生成以上應用目錄結構。 1. 生成共用(common)應用目錄結構: 首先,在 `app` 目錄下增加一個 `build.php` 文件,內容如下: *app/build.php* ```php <?php return [ // 需要自動創建的文件 '__file__' => [], // common 需要自動創建的目錄 '__dir__' => ['model', 'exception', 'validate'], ]; ``` 其次,執行 `think build` 命令生成應用目錄: ```shell $ php think build common ``` 最后,因為 `common` 應用不需要控制器,所以我們刪除生成的 `controller` 目錄: ```shell $ rm -rvf app/common/controller ``` 2. 生成前臺( index )和后臺( admin )應用的目錄: 首先,把 `app/build.php` 文件修改成以下內容: *app/build.php* ```php <?php return [ // 需要自動創建的文件 '__file__' => [], // common 需要自動創建的目錄 '__dir__' => ['view'], // 需要自動創建的控制器 'controller' => [], ]; ``` 其次,執行以下命令生成應用目錄: ```php // 生成前臺應用 $ php think build index // 生成后臺應用 $ php think build admin ``` 3. 我們還需要刪除 `app/controller` 這個文件夾,因為系統根據該文件夾作為判斷是否單應用的依據: ```shell $ rm -rvf app/controller ``` 4. 多應用模式開發時視圖模板默認是存儲在應用內的 `view` 文件夾(如:app/index/view),所以我們可以把項目根目錄的 view 文件夾也刪除了: ```shell $ rm -rvf view ``` 以下是我們最終生成的多應用模式 app 目錄結構: ```shell . ├── admin │?? ├── common.php │?? ├── controller │?? │?? └── Index.php │?? ├── event.php │?? ├── middleware.php │?? ├── provider.php │?? └── view │ ├── common │?? ├── common.php │?? ├── event.php │?? ├── exception │?? ├── middleware.php │?? ├── model │?? ├── provider.php │?? └── validate │ ├── index │?? ├── common.php │?? ├── controller │?? │?? └── Index.php │?? ├── event.php │?? ├── middleware.php │?? ├── provider.php │?? └── view │ ├── BaseController.php ├── build.php ├── common.php ├── event.php ├── ExceptionHandle.php ├── middleware.php ├── provider.php └── Request.php ``` ## 效果預覽 我們用瀏覽器分別打開項目 [前臺首頁](http://bbs.test/index) 和 [后臺首頁](http://bbs.test/admin) 查看一下是否正常。 首臺首頁預覽效果: ![Index Home](http://tbs.zhanghong.info/images/chapters/02/050_index_app_60.pngg) 后臺首頁預覽效果: ![Admin Home](http://tbs.zhanghong.info/images/chapters/02/050_admin_app_60.png) ## Git 代碼版本控制 下面把代碼納入到版本管理: ```shell $ git add -A $ git commit -m "生成目錄結構" ```
                  <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>

                              哎呀哎呀视频在线观看