搜尋
首頁php教程php手册thinkphp把模板檔View獨立出來

thinkphp把模板檔View獨立出來
thinkphp預設的View都是在/Application各個模組下的;
css、js之類的資源檔案是放在/Public目錄下;
大致上是這個樣子的;
thinkphp├─Application 專案邏輯目錄<br> │  ├─Common 公共模組<br> │  │  ├─...<br> │  ├─Home  Home模組<br> │  │  ├─Controller  Home控制器目錄<br> │  │  ├─...<br> │  │  ├─View  Home模組下的視圖目錄<br> │  │  │  ├─Index<br> │  │  │  │  ├─index.html<br> │  │  │  │  ├─...<br> │  │  │  ├─Tag<br> │  │  │  │  ├─index.html<br> │  │  │  │  ├─add.html<br> │  │  │  │  ├─edit.html<br> │  │  │  │  ├─...<br> │  ├─Admin  Admin模組<br> │  │  ├─Controller  Admin控制器目錄<br> │  │  ├─...<br> │  │  ├─View  Admin模組下的視圖目錄<br> │  │  │  ├─Index<br> │  │  │  │  ├─index.html<br> │  │  │  │  ├─...<br> │  │  │  ├─Article<br> │  │  │  │  ├─index.html<br> │  │  │  │  ├─add.html<br> │  │  │  │  ├─edit.html<br> │  │  │  │  ├─...<br> │  ├─...<br> ├─Public 資源檔案目錄<br> │  ├─Home  前台Home檢視目錄   <br> │  │  ├─Public 前台Home的公共目錄<br> │  │  │  ├─js  home下所呼叫的js檔案目錄<br> │  │  │  ├─css  home下所呼叫的css檔案目錄<br> │  │  │  ├─images  home下所呼叫的圖片檔案目錄 <br> │  ├─Admin  前台Home檢視目錄   <br> │  │  ├─Public 前台Home的公共目錄<br> │  │  │  ├─js  home下所呼叫的js檔案目錄<br> │  │  │  ├─css  home下所呼叫的css檔案目錄<br> │  │  │  ├─images  home下所呼叫的圖片檔案目錄 <br> │  ├─...<br> ├─ThinkPHP 框架系統目錄但是在實際開發中;
這樣把View目錄分散到各個模組下是有很多弊端的;
首先開發多套主題相當之麻煩相當之混亂;
再使用gulp這類前端工具很不便利;
我們想要的是某個目錄下全是原始碼;
另一個目錄下全是壓縮後的html、js、css等;
燃鵝;這樣一個小願望在面對這樣的目錄結構時;
我的表情是 黑人問號.jpg;

所以;我是把所有的範本檔案和js、css等獨立出來放在根目錄下的/tpl中的;
這裡偷個懶;直接把以前寫的目錄結構拿來了;thinkphp-bjyadmin<br> ├─Application 專案邏輯目錄<br> │  ├─Common 公共模組<br> │  │  ├─Common  公共函數目錄<br> │  │  │  ├─functioin.php 公用函數php檔案<br> │  │  ├─Conf  公共設定檔目錄<br> │  │  │  ├─config.php  tp的設定 用於覆寫框架預設設定項<br> │  │  │  ├─db.php  資料庫設定 使用者名稱 密碼等<br> │  │  │  ├─webconfig.php  專案的設定;網站名稱;是否開啟網站等<br> │  │  ├─Controller  公共控制器目錄 <br> │  │  │  ├─BaseController.class.php 應用最基本的控制器<br>│  │  │  ├─HomeBaseController.class.php  Home基礎控制器繼承BaseController<br> │  │  │  ├─AdminBaseController.class.php  Admin基礎控制器繼承BaseController<br> │  │  │  ├─UserBaseController.class.php  User基礎控制器繼承BaseController<br> │  │  │  ├─...<br> │  │  ├─Model  公共模式目錄<br> │  │  │  ├─BaseModel.class.php  應用最基礎的Model<br> │  │  │  ├─ArticleModel.class.php 文章model  繼承BaseModel<br> │  │  │  ├─UserModel.class.php  使用者model 繼承BaseModel<br> │  │  │  ├─...<br> │  │  ├─Tag  公共標示目錄<br> │  │  │  ├─My.class.php  自訂的標籤庫<br> │  │  │  ├─...<br> │  ├─Home  Home模組<br> │  │  ├─Controller  Home控制器目錄 繼承HomeBaseController<br> │  │  │  ├─ArticleController.class.php 文章控制器目錄  <br> │  │  │  ├─IndexController.class.php  首頁控制器<br> │  │  │  ├─ ...  <br> │  ├─Admin  Admin模組<br> │  │  ├─Controller  Admin控制器目錄 繼承AdminBaseController<br> │  │  │  ├─IndexController.class.php  後台管理首頁控制器<br> │  │  │  ├─ ...  <br> │  ├─User  User模組<br> │  │  ├─Controller  User控制器目錄 繼承 UserBaseController<br> │  │  │  ├─IndexController.class.php  使用者個人中心首頁控制器<br> │  │  │  ├─ ...  <br> ├─Public 資源檔案目錄<br> │  ├─install      安裝引導目錄<br> │  ├─statics      靜態資源目錄<br> │  │  ├─bootstrap bootstrap框架<br> │  │  ├─ueditor   ueditor編輯器<br> │  │  ├─js        jquery等第三方js存放的目錄<br> │  │  ├─css       animate.css等第三方css目錄<br> │  │  ├─ ...      <br> ├─tpl 視圖檔案目錄<br> │  ├─Public  公共目錄<br> │  │  ├─js  公共js目錄<br> │  │  │  ├─base.js 全站都引用的js檔案<br> │  │  │  ├─ ...  <br> │  │  ├─css  公共css目錄<br> │  │  │  ├─base.css 全站都引用的css檔案  <br> │  │  │  ├─ ...  <br> │  │  ├─images 公共圖片目錄 <br> │  │  ├─public_head.html  全站通用的公共頭部<br> │  │  ├─public_foot.html  全站通用的公共底部<br> │  │  ├─...  <br> │  ├─Home  前台Home檢視目錄   <br> │  │  ├─Public 前台Home的公共目錄<br> │  │  │  ├─js  home下所呼叫的js檔案目錄<br> │  │  │  ├─css  home下所呼叫的css檔案目錄<br> │  │  │  ├─images  home下所呼叫的圖片檔案目錄<br> │  │  ├─Index  首頁檔案目錄<br> │  │  │  ├─index.html 首頁  <br> │  │  │  ├─ ...<br> │  ├─Admin  同Home<br> │  ├─User   同Home<br> ├─Upload  公共上傳目錄<br>│  ├─images   上傳的圖片目錄<br> │  │  ├─avatar  頭像目錄<br> │  │  ├─ueditor ueditor編輯器上傳的圖片目錄<br> │  │  │ ...<br> │  │ ...<br> ├─Runtime 快取目錄<br> ├─ThinkPHP 框架系統目錄其他目錄的設計原則可以回顧 thinkphp的目錄結構設計經驗摘要 http://baijunyao.com/article/60
我們把html獨立出來後;最直觀的感受是;
結構上前後端更獨立了;以前是大雜燴;
而且我們一言不合;想改目錄就改目錄;相當自由;

那要實現這樣的結構非常簡單;
只需要在根目錄的入口文件index.php檔案中定義TMPL_PATH就可以了;
原本的程式碼是這樣的;<?php <br /> // +----------------------------------------------- -----------------------<br> // | ThinkPHP [ WE CAN DO IT JUST THINK ]<br> // +----------------------------------------------- -----------------------<br> // | Copyright (c) 2006-2014 http://thinkphp.cn All rights reserved.<br> // +----------------------------------------------- -----------------------<br> // | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )<br> // +----------------------------------------------- -----------------------<br> // | Author: liu21st <liu21st><br> // +----------------------------------------------- -----------------------<br> <br> // 應用入口文件<br> <br> // 偵測PHP環境<br> if(version_compare(PHP_VERSION,'5.3.0',' 5.3.0 !');<br> <br> // 開啟偵錯模式 建議開發階段開啟 部署階段註解或設為false<br> define('APP_DEBUG',True);<br> <br> // 定義應用程式目錄<br> define('APP_PATH','./Application/');<br> <br> // 引入ThinkPHP入口檔案<br> require './ThinkPHP/ThinkPHP.php';<br> <br> // 親^_^ 後面不需要任何程式碼了 就是如此簡單</liu21st>修改後的程式碼是這樣的;<?php <br /> // +----------------------------------------------- -----------------------<br> // | ThinkPHP [ WE CAN DO IT JUST THINK ]<br> // +----------------------------------------------- -----------------------<br> // | Copyright (c) 2006-2014 http://thinkphp.cn All rights reserved.<br> // +----------------------------------------------- -----------------------<br> // | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )<br> // +----------------------------------------------- -----------------------<br> // | Author: liu21st <liu21st><br> // +----------------------------------------------- -----------------------<br> <br> // 應用入口文件<br> <br> // 偵測PHP環境<br> if(version_compare(PHP_VERSION,'5.3.0',' 5.3.0 !');<br> <br> // 開啟偵錯模式 建議開發階段開啟 部署階段註解或設為false<br> define('APP_DEBUG',True);<br> <br> // 定義應用程式目錄<br> define('APP_PATH','./Application/');<br> <br> // 定義快取目錄<br> define('RUNTIME_PATH','./Runtime/');<br> <br> // 定義範本檔案預設目錄<br> define("TMPL_PATH","./tpl/");<br> <br> // 引入ThinkPHP入口檔案<br> require './ThinkPHP/ThinkPHP.php';<br> <br> // 親^_^ 後面不需要任何代碼了 就是如此簡單</liu21st>細心的童鞋可能發現了;這裡還定義了個RUNTIME_PATH是為嘛呢?
買一送一;
這裡是順便把快取檔案Runtime資料夾也從/Application獨立到根目錄下了;
當項目上線後;關閉了調試模式;來這裡刪除緩存檔案方便;

恩;好;我承認我是處女座;
就是喜歡/Application下只是php業務代碼;
就是喜歡純粹乾淨的感覺;
排斥各種混雜;

當然;到這裡已經可以結束了;
但是我們還可以做的更好;
還需要在/Application/Common/Conf/config.php檔案中定義一些目錄;<?php <br />返回數組(<br>     //'配置項目'=>'配置值'<br>     'TMPL_PARSE_STRING'      => array(    //定義常用路徑<br>         '__PUBLIC__'         => __ROOT__.'/公共',<br>         '__HOME_CSS__'       => __ROOT__.trim(TMPL_PATH,'.').'Home/Public/css',<br>         '__HOME_JS__'        => __ROOT__.trim(TMPL_PATH,'.').'Home/Public/js',<br>         '__HOME_IMAGES__'    => __ROOT__.trim(TMPL_PATH,'.').'Home/Public/images',<br>         '__ADMIN_CSS__'      => __ROOT__.trim(TMPL_PATH,'.').'Admin/Public/css',<br>         '__ADMIN_JS__'       => __ROOT__.trim(TMPL_PATH,'.').'Admin/Public/js',<br>         '__ADMIN_IMAGES__'   => __ROOT__.trim(TMPL_PATH,'.').'管理/公開/影像',<br>         '__ADMIN_ACEADMIN__'=> __ROOT__.trim(TMPL_PATH,'.').'Admin/Public/aceadmin',<br>         '__PUBLIC_CSS__'     => __ROOT__.trim(TMPL_PATH,'.').'Public/css',<br>         '__PUBLIC_JS__'      => __ROOT__.trim(TMPL_PATH,'.').'公/js',<br>         '__PUBLIC_IMAGES__'  =>; __ROOT__.trim(TMPL_PATH,'.').'公/影像',<br>         '__USER_CSS__'       => __ROOT__.trim(TMPL_PATH,'.').'使用者/大眾/css',<br>         '__USER_JS__'        => __ROOT__.trim(TMPL_PATH,'.').'使用者/大眾/js',<br>         '__USER_IMAGES__'    => __ROOT__.trim(TMPL_PATH,'.').'使用者/公開/影像',<br>         '__APP_CSS__'        => __ROOT__.trim(TMPL_PATH,'.').'App/Public/css',<br>         '__APP_JS__'         => __ROOT__.trim(TMPL_PATH,'.').'App/Public/js',<br>         '__APP_IMAGES__'     => __ROOT__.trim(TMPL_PATH,'.').'應用程式/公開/影像'<br>     ),<br> );<br> 然後以後在html中就使用這些路徑了;<br> html><br> <br> <br>     <br>     <title>白俊遙部落格</title> <br>     <css></css><br> 頭><br> <br> <br> <js></js><br> 身體><br> 白俊遙部落格 http://baijunyao.com/article/90

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 個月前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
1 個月前By尊渡假赌尊渡假赌尊渡假赌
威爾R.E.P.O.有交叉遊戲嗎?
1 個月前By尊渡假赌尊渡假赌尊渡假赌

熱工具

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中