一、調試模式
TP的調試模式其實就控制了TP關於配置信息以及函數的緩存功能
如果開啟了調試模式,每次訪問項目,Tp都會去加載最新的配置以及函數信息。
如果關閉了調試模式,當tp第一次訪問時會降配置以及函數信息保存到一個文件common-->runtime.php,后續每次訪問都直接讀取這文件。
開啟調試方式,必須寫在加載tp框架之前
define('APP_DEBUG',TRUE);
二、配置項
1. tp默認配置文件,
Thinkphp =>Conf=>convention.php
2. 公共模塊的配置文件
Application => Common => conf => conf.php
3. 模塊配置文件
home => common =>conf = > config.php
4. 配置文件的優先級
模塊配置 > 公共模塊配置 > TP默認的配置文件
三. 配置
ThinkPHP框架中默認所有配置文件的定義格式均采用返回PHP數組的方式
配置參數不區分大小寫(因為無論大小寫定義都會轉換成小寫)
1. 讀取配置 C('參數名稱')
// 由於配置參數不區分大小寫
C('url_model'); url_model 尚未存在設置,則返回NULL。
2 動態配置
之前的方式都是通過預先定義配置文件的方式,而在具體的操作方法里面,我們仍然可以對某些參數進行
動態配置(或者增加新的配置),主要是指那些還沒有被使用的參數
設置格式:
C('參數名稱','新的參數值')
例如,我們需要動態改變數據緩存的有效期的話,可以使用
// 動態改變緩存有效期
C('DATA_CACHE_TIME',60);
動態配置賦值僅對當前請求有效,不會對以后的請求造成影響。
四。 創建模塊
1. 在application 下創建目錄 Admin
2 在 Admin目錄下創建對應的控制器,模型,視圖等目錄
3 在后台的模塊里面創建控制器,方法
五 TP中四種URL 模式介紹
1 普通模式
默認情況下是通過入口文件 m, c, a 傳遞三個參數來指定 具體的模塊,控制器,方法名稱來實現訪問到某一個方法
普通訪問格式:
http://www.tptest.com/index.php?m=admin&c=admin&a=testadmin
2 pathinfo模式
PATHINFO模式是系統的默認URL模式,提供了最好的SEO支持,系統內部已經做了環境的兼容處理,所
以能夠支持大多數的主機環境。對應上面的URL模式,PATHINFO模式下面的URL訪問地址是:
http://www.tptest.com/index.php/admin/admin/testadmin
對於上述的地址,訪問Admin模塊下的admin控制器下面的testadmin方法 ,如果帶參數
http://www.tptest.com/index.php/admin/admin/testadmin/name/value
3. rewire模式
<IfModule mod_rewrite.c>
Options +FollowSymlinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
</IfModule>
六 URL生成
1. U函數
U方法的定義規則如下(方括號內參數根據實際應用決定):
U('地址表達式',['參數'],['偽靜態后綴'],['顯示域名'])
地址表達式
地址表達式的格式定義如下:
[模塊/控制器/操作#錨點@域名]?參數1=值1&參數2=值2...
U('User/add') // 生成User控制器的add操作的URL地址
U('Blog/read?id=1') // 生成Blog控制器的read操作 並且id為1的URL地址
U('Admin/User/select') // 生成Admin模塊的User控制器的select操作的URL地址
七 頁面跳轉
系統的 \Think\Controller 類內置了兩個跳轉方法success和error,用於頁
面跳轉提示,而且可以支持ajax提交。
1. success和error方法的第一個參數表示提示信息,第二個參數表示跳轉地址,第三個參數是跳轉時間(單
位為秒),例如:
// 操作完成3秒后跳轉到 /Article/index
$this->success('操作完成','/Article/index',3);
// 操作失敗5秒后跳轉到 /Article/error
$this->error('操作失敗','/Article/error',5);
2. 跳轉地址是可選的,success方法的默認跳轉地址是 $_SERVER["HTTP_REFERER"] ,error方法的默認
跳轉地址是 javascript:history.back(-1); 。
默認的等待時間success方法是1秒,error方法是3秒
success 和 error 方法都可以對應的模板,默認的設置是兩個方法對應的模板都是:
//默認錯誤跳轉對應的模板文件
'TMPL_ACTION_ERROR' => THINK_PATH . 'Tpl/dispatch_jump.tpl',
//默認成功跳轉對應的模板文件
'TMPL_ACTION_SUCCESS' => THINK_PATH . 'Tpl/dispatch_jump.tpl',
3.重定向
Controller類的redirect方法可以實現頁面的重定向功能。
redirect方法的參數用法和U函數的用法一致(參考URL生成部分),例如:
//重定向到New模塊的Category操作
$this->redirect('New/category', array('cate_id' => 2), 5, '頁面跳轉中...');
$this->redirect( 'Admin/admin/testadmin',array('id'=>2),3,"頁面重定向跳轉中");
$this->redirect( 'Admin/admin/testadmin','id=2',3,"頁面重定向跳轉中");
上面的用法是停留5秒后跳轉到New模塊的category操作,並且顯示頁面跳轉中字樣,重定向后會改變當
前的URL地址。
如果你僅僅是想重定向要一個指定的URL地址,而不是到某個模塊的操作方法,可以直接使用
redirect 函數重定向,例如:
//重定向到指定的URL地址
redirect('/New/category/cate_id/2', 5, '頁面跳轉中...')
Redirect函數的第一個參數是一個URL地址。
八 空操作與空控制器
1.空操作
2.空控制器