tp5 session 这样设计合适吗?

浏览:1517 发布日期:2017/04/30 分类:ThinkPHP5专区 关键字: thinkphp thinkphp5 session
案例:
用户登录过程中,我要将登录错误信息返回给登录页面,采用了二维的session来传值。
奇葩设计1,模板不支持数组,甚至不支持session数组:
Session::set('message_info.title','登录失败');
Session::set('message_info.content','验证码错误');
我在模板中使用
{if condition="$Request.session.message_info neq false"}
{/if}
来判断提示信息是否存在,结果报错【variable type error:array】意思是说,模板中不能支持数组输出?好吧,如果用Request.session.message_info .title来判断不出错了,也达到了自己的要去,但是觉得这样总有不合适,于是,调用session助手函数,来判断去解决这个问题
{if condition="session('?message_info') neq false"}{/if} 这样总算是解决了。
问题2.session不能用正常的数组思维去思考!
session('message_info','tese');
Session::set('message_info.title','登录失败');
Session::set('message_info.content','验证码错误');
按照数组的思维去运行:
print_r(session('message_info')) 应该输出:tese 但是在tp5的session中会报错
【Illegal string offset 'title'】意思是说,message_info.title这个是非法了。好吧这个是为了代码的严谨性,这样设计也没什么问题!
总之,tp5的有些模块,设计的有点不太人性。



最佳答案
评论( 相关
后面还有条评论,点击查看>>