欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

thinkphp 方法之间传递变量

程序员文章站 2022-05-08 16:44:53
...
初用面向对象 经常碰到这种情况 就是两个方法需要用到的数据一样 比喻我在一个方法里 从数据库里读取了一些数据 分配到模板里 然后我发现在同一个模块里的另一个方法也需要用到这些数据 或者其中的某一个变量 我就不知道 该怎么办了 求大湿说明白点哈 小弟菜鸟

回复讨论(解决方案)

你可以在Comment/comment.php定义公共方法,任何地方都可以调用。

先写一个CommonAction继承thinkphp的Action,代码如下:

CommonAction extends Action{}

然后在用全部普通的action继承CommonAction,这样共用的方法写在CommonAction里边,然后在不同的子action中调用共用的方法。

在需要的方法里再写一遍
注意,一般情况下执行 display 方法就意味着程序结束了
同一控制器中的不同方法并不在同一http会话中执行,所以他们都是独立的。只不过被你写在了一起

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