thinkphp中路徑怎麼寫
-- 前台使用了bootstrap框架技術,美化頁面效果很顯著(接下來計劃有時間總結下bootstrap);並且應用HTML語義化文章結構,便於搜索引擎查找。
-- 後台打算使用ThinkPHP框架技術,這樣可以使整體架構是MVC模式,結構化和模塊化項目,並且使頁面的html頁碼和php代碼分離。 -- 最後計劃實現頁面的靜態化,方便吸引搜索引擎爬蟲的曝光率。
後台應用TP框架: 1)路徑問題 由於TP框架是MVC架構,原理跟smaty模板的一樣,contraller調用view下的模板,將模板html頁面替換成php,然後包含到contraller下的控制頁面,並且緩存在緩存夾cache中,訪問contraller時會自動定位到cache下的緩存php文件。這樣就引出了路徑的問題,模板view下的相對路徑需要些contraller的相對路徑,建議用絕對路徑。
介紹幾個系統常量: 網站根目錄地址 __ROOT__ 路徑為根目錄 / 當前路徑下 __URL__ 公共區: __PUBLIC__ 路徑為 /Public/ 當前應用入口 __APP__ 還可以自己定義路徑變量,方便項目開發。例子:建議使用絕對路徑代替相對路徑 <link rel="stylesheet" href="__PUBLIC__/css/bootstrap.css"> 代替<link rel="stylesheet" href="../../Public/css/bootstrap.css"> 代替 2)數據庫的連接展示,例子效果如下:(1)ThinkPHP/Conf/conversation.php中配置數據庫連接參數: /* 數據庫設置 */ 'DB_TYPE' => 'mysql', // 數據庫類型 'DB_HOST' => 'localhost', // 服務器地址 'DB_NAME' => 'yanhui', // 數據庫名 'DB_USER' => 'root', // 用户名 'DB_PWD' => '', // 密碼 'DB_PORT' => '', // 端口 (2)Contraller中新建控制news頁面NewsContrallor:<?phpnamespace HomeController;use ThinkController;class NewsController extends Controller { public function index(){ $user=M('news'); $this->rows=$user->order('id')->select(); $this->display(); } public function add(){ $this->display(); } public function insert(){ $this->display(); } public function delete(){ $this->display(); } public function edit(){ $this->display(); } public function update(){ $this->display(); }}(3)View下新建模板頁面News/index.html(用了bootstrap展示前端) 新聞展示
id | 標題 | 概要 | 上牆 | 時間 | 欄目 |
---|---|---|---|---|---|
{$row.id} | {$row.title} | {$row.abstract} | {$row.shelf} | {$row.regtime|date='Y-m-d',###} | {$row.newsclassId} |
Thinkphp的App目錄是通過使用__APP__預編譯常量定義的,其賦值在於入口文件的與站點根目錄的相對目錄計算的。在Thinkphp中,APP的入口目錄的設置有兩種方法:
1、通過Thinkphp自動計算 把入口文件放在自己Application目錄下,通過U()函數獲取時,Thinkphp會自動在你指定的Controller/Action前面加上Application目錄Url前綴。優點自動化,符合Think的設計標準,缺點:缺少靈活。
2、手動設置APP所在目錄
在入口文件中定義常量:“__APP__”,指定URL前綴,這樣的話,你可以任意設定App前綴如: