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('[操作名]');