您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

【PHP动态调用方法】带参数解决思路

2024/2/21 19:15:54发布14次查看
【php动态调用方法】带参数
我有一个vo类。
columnvo extends model
我要model里调用vo的方法。
但是: new columnvo($db) ,这里要传入一个重量级的$db.
但是我的vo里的方法是不要应用到$db的。
------------------------------------------
在model里要实现这种功能: $this->vo方法(方法参数) 怎么办?
因为当前$this已经指向columnvo,而columnvo初始化的时候,已经有$db了。
如果用反射的话,是不是要经历如下步骤:
  1.new columnvo 
  2.调用新的vo的方法。
这样的话,资源浪费。而且也没有办法调用当前$this的其他已经初始化好的资源。
------解决方案--------------------
单例模式
------解决方案--------------------
看到了好久才明白一点,你是希望有的子类不要继承父类的某个属性或方法?
那不如在父类的构造函数中想想办法
------解决方案--------------------
如老大所说,单例模式可以不再让你把对象传来传去。在需要的地方调用一个静态方法就可以了
另外动态调用一个方法,用 call_user_func_array() 足够
------解决方案--------------------
我想你是把事情弄混了
columnvo extends model
你实例化的是 columnvo 而不是 model
所谓的在 model 中调用 columnvo 的方法
就是在 继承的父类方法中调用子类新增的方法
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product