thinkphp 方法之间传递变量解决思路
程序员文章站
2023-12-28 10:01:10
...
thinkphp 方法之间传递变量
初用面向对象 经常碰到这种情况 就是两个方法需要用到的数据一样 比喻我在一个方法里 从数据库里读取了一些数据 分配到模板里 然后我发现在同一个模块里的另一个方法也需要用到这些数据 或者其中的某一个变量 我就不知道 该怎么办了 求大湿说明白点哈 小弟菜鸟
------解决方案--------------------
你可以在Comment/comment.php定义公共方法,任何地方都可以调用。
------解决方案--------------------
先写一个CommonAction继承thinkphp的Action,代码如下:
然后在用全部普通的action继承CommonAction,这样共用的方法写在CommonAction里边,然后在不同的子action中调用共用的方法。
------解决方案--------------------
在需要的方法里再写一遍
注意,一般情况下执行 display 方法就意味着程序结束了
同一控制器中的不同方法并不在同一http会话中执行,所以他们都是独立的。只不过被你写在了一起
如果在执行 display 方法之前,需要调用其他方法,而被调用的方法使用了与调用者相同的数据集
那么你可以把数据集的产生放在 init 方法中
初用面向对象 经常碰到这种情况 就是两个方法需要用到的数据一样 比喻我在一个方法里 从数据库里读取了一些数据 分配到模板里 然后我发现在同一个模块里的另一个方法也需要用到这些数据 或者其中的某一个变量 我就不知道 该怎么办了 求大湿说明白点哈 小弟菜鸟
------解决方案--------------------
你可以在Comment/comment.php定义公共方法,任何地方都可以调用。
------解决方案--------------------
先写一个CommonAction继承thinkphp的Action,代码如下:
CommonAction extends Action{}
然后在用全部普通的action继承CommonAction,这样共用的方法写在CommonAction里边,然后在不同的子action中调用共用的方法。
------解决方案--------------------
在需要的方法里再写一遍
注意,一般情况下执行 display 方法就意味着程序结束了
同一控制器中的不同方法并不在同一http会话中执行,所以他们都是独立的。只不过被你写在了一起
如果在执行 display 方法之前,需要调用其他方法,而被调用的方法使用了与调用者相同的数据集
那么你可以把数据集的产生放在 init 方法中
相关文章
相关视频