我觉得你不太懂thinkphp的模型。tp的模式和ci的模式不一样。tp的模型是用来封装数据库模型的,你要实现的是控制用户请求,这已经属于控制器的范畴了,你不能这么做$ a=M;而是应该写一个globalAction,比如globalAction,让它继承tp的动作,然后在GlobalAction的_initialize方法中判断会话。
然后所有需要权限判断的动作都继承了globalAction,而不是系统的acton,这样每次一个动作被实例化,都会先检查用户会话。
我是个初学者,刚接触thinkphp几天,不是很懂,但tp源代码就是这么写的。系统动作的构造器:
公共函数_ _构造
{
//实例化视图类
$ this-view=Think:instance;
//控制器初始化
如果)
$ this-_ initialize;
}
它检查是否有_initialize方法。如果是,调用initialize。