1、success方法
success方法語法如下:
success(message, ajax)
參數說明message可選。頁面提示信息。ajax可選。是否AJAX 方式提交,默認爲false 。
如果是AJAX 方式提交的話,success 方法會調用ajaxReturn 方法返回信息。
success 模板
success 方法默認調用公共目錄即TPL/Public/ 下的success.html 模板。在該模板中,接收如下模板變量
模板變量說明:
$waitSecond跳轉等待時間,單位爲秒,默認success 1 秒,error 3 秒。
$jumpUrl跳轉目標頁面地址,默認爲$_SERVER["HTTP_REFERER"] (本操作前一頁)。
$msgTitle操作標題。注:賦值該變量不會生效,success 會取語言包裏_OPERATION_SUCCESS_ 配置信息,error 取_OPERATION_FAIL_ 配置信息。
$message頁面提示信息。
$status操作狀態,默認1 表示成功,0 表示失敗,具體還可以由項目本身定義規則。
success 實際仍是調用display() 方法輸出success.html 模板。因此可以根據實際情況對success.html 模板進行修改如添加更多信息提示或者進行CSS 美工設置等以滿足實際需求,上面這些模板變量只是一些參考變量。
$jumpUrl 變量說明:
$jumpUrl 變量如果不存在,默認跳轉地址是$_SERVER["HTTP_REFERER"] ,一些常見的跳轉頁面寫法參考:
1
2
3
4
5
6
|
//
本模塊其他方法如index 方法 $this ->assign( "jumpUrl" , "index" ); //
帶上參數 $this ->assign( "jumpUrl" , "index/section/" . $section ); //其他模塊 $this ->assign( "jumpUrl" , "__APP__/User/index" ); |
如果要使用U 方法生成跳轉目標地址,可在success.html 中變更URL 屬性爲U 方法形式:
1
|
<meta
http-equiv= 'Refresh' content= '{$waitSecond};URL={:U($jumpUrl)}' > |
在操作中,對$jumpUrl 模板變量的賦值,相應的也要更改爲與U 方法一致,詳情可參考官方手冊《ThinkPHPU 方法動態生成URL 地址》。
2、error 方法
error方法用法與sucess 方法完全一致,只是需要注意的是,ThinkPHP 默認配置error方法調用的仍是success.html 模板。如果需要對error 方法單獨定義模板,可以修改系統默認配置ThinkPHP/Common/convention.php文件如下:
1
|
'TMPL_ACTION_ERROR'
=> 'Public:success' , //
默認錯誤跳轉對應的模板文件 |
或在項目配置裏進行重新定義。
Web開發中,在需要頁面跳轉並顯示提示信息時,可以直接使用ThinkPHP 頁面跳轉提供的上述success 與error 方法。如果不需要提示而是直接重定向頁面時,可參考手冊《ThinkPHP redirect 重定向》部分。
display();
默認輸出
模板默認輸出是指輸出指令 display 方法中不帶任何參數,系統默認輸出對應模板。
格式:
$this->display();
輸出對應的模板:
TPL/模板默認主題/[分組名/]模塊名/操作名+模板後綴4.seesion
session賦值
Session賦值比較簡單,直接使用:session('name','value'); //設置session
相當於:
$_SESSION['name'] = 'value';
session取值
Session取值使用:$value = session('name');
相當於使用:
$value = $_SESSION['name'];
session刪除
session('name',null); // 刪除name
相當於:
unset($_SESSION['name']);
要刪除所有的session,可以使用:
session(null); // 清空當前的session
相當於:
$_SESSION = array();
session判斷
要判斷一個session值是否已經設置,可以使用session('?name');
用於判斷名稱爲name的session值是否已經設置相當於:
isset($_SESSION['name']);
session管理
session方法支持一些簡單的session管理操作,用法如下:session('[操作名]');