TP5中json()函数执行后程序没有返回

frank1997 2017-08-14 08:25:11
protected function _initialize() {
parent::_initialize(); // TODO: Change the autogenerated stub
if (!session('?userID')) {
trace('in here', 'debug');
return json(['result' => false, 'msg' => '登录失效,请重新登录']);
}
}

public function doChangePsw() {
trace('in dochangepsw', 'debug');
$userID = input('post.userID');
$oldPsw =input('post.oldPsw');
$newPsw = input('post.newPsw');
$userInfo = new UserInfo();
$data = $userInfo->changeUserPsw($userID, $newPsw, $oldPsw);
return json($data);
}

本意是想在_initialize方法中判断session中userID是否存在,如果不存在直接返回重新登录提示,而不执行doChangePsw方法,而在实际执行中发现输出如下:
[ 2017-08-14T20:13:15+08:00 ] 127.0.0.1 127.0.0.1 POST /fanyi/index/dochangepsw.html
[ debug ] in here
[ debug ] in dochangepsw

也就是_initialize()执行return json()后继续执行了doChangePsw()方法,请问这是什么原因。
另外如何实现我想要的功能,因为要在不同的方法中判断session中userID是否存在,所以不能把这个判断放在doChangePsw()方法中
...全文
642 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
花灬生 2017-08-24
  • 打赏
  • 举报
回复
你这个返回,是给前台数据吗?如果是给前台数据不应该用return吧....还没用过TP5 不知道json是什么方法
dingzq 2017-08-22
  • 打赏
  • 举报
回复
初始化方法不能返回,教程上有,也是后来才知道。
xjnet520 2017-08-15
  • 打赏
  • 举报
回复
结贴吧
frank1997 2017-08-14
  • 打赏
  • 举报
回复
问题已解决,因为__construct 调用的return无效

20,359

社区成员

发帖
与我相关
我的任务
社区描述
“超文本预处理器”,是在服务器端执行的脚本语言,尤其适用于Web开发并可嵌入HTML中。PHP语法利用了C、Java和Perl,该语言的主要目标是允许web开发人员快速编写动态网页。
phpphpstorm 技术论坛(原bbs)
社区管理员
  • 开源资源社区
  • phpstory
  • xuzuning
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧