我新写了一个检查权限的方法,如何在运行一个action时先运行它?Thinkphp

就是我之前写了好多控制器好多方法了,可是之前只用一个账户登陆了,没有想到权限问题,现在想加上用户管理,在运行一个方法前先验证是否有该方法的权限,请问该如何操作?Think... 就是我之前写了好多控制器好多方法了,可是之前只用一个账户登陆了,没有想到权限问题,现在想加上用户管理,在运行一个方法前先验证是否有该方法的权限,请问该如何操作?Thinkphp 展开
 我来答
DoramiHe
2018-06-07 · 知道合伙人互联网行家
DoramiHe
知道合伙人互联网行家
采纳数:25335 获赞数:59536
2011年中山职业技术学院毕业,现担任毅衣公司京东小二

向TA提问 私信TA
展开全部
我觉的你对thinkphp的model理解不大对,tp的model和你说的ci的model是不一样的
tp里的model是用来封装数据库模型的,而你要实现的是控制用户请求,这已经属于控制器的范畴了,所以不能这样$a = M('isonline');而应该是写一个全局的action,比如globalAction,让它继承tp的action,然后在 globalAction的_initialize()方法中session判断,

然后所有的需要权限判断的Action都继承globalAction,而不是系统的acton,这样每次实例化action的时候都会先检查用户session

我是个初学者,刚接触thinkphp没些天,理解的也不是很透彻,但tp源码就是这么写的,系统Action的构造函数:
public function __construct()
{
//实例化视图类
$this->view = Think::instance('View');
//控制器初始化
if(method_exists($this,'_initialize'))
$this->_initialize();
}
它会检查是否有_initialize方法。。。,有的话就调用initialize
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式