日期:2014-05-16  浏览次数:20443 次

thinkphp 方法之间传递变量
初用面向对象  经常碰到这种情况 就是两个方法需要用到的数据一样 比喻我在一个方法里 从数据库里读取了一些数据 分配到模板里   然后我发现在同一个模块里的另一个方法也需要用到这些数据 或者其中的某一个变量 我就不知道 该怎么办了 求大湿说明白点哈 小弟菜鸟

------解决方案--------------------
你可以在Comment/comment.php定义公共方法,任何地方都可以调用。
------解决方案--------------------
先写一个CommonAction继承thinkphp的Action,代码如下:
CommonAction extends Action{}

然后在用全部普通的action继承CommonAction,这样共用的方法写在CommonAction里边,然后在不同的子action中调用共用的方法。
------解决方案--------------------
在需要的方法里再写一遍
注意,一般情况下执行 display 方法就意味着程序结束了
同一控制器中的不同方法并不在同一http会话中执行,所以他们都是独立的。只不过被你写在了一起

如果在执行 display 方法之前,需要调用其他方法,而被调用的方法使用了与调用者相同的数据集
那么你可以把数据集的产生放在 init 方法中