脚本宝典收集整理的这篇文章主要介绍了PHP [OOP] – 如何手动调用类构造函数?,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
01. class test { 02. public function __construct($param1,$param2,$param3) { 03. echo $param1.$param2.$param3; 04. } 05. } 06. 07. $params = array('p1','p2','P3'); 08. 09. $ob = new Test; 10. 11. if(method_exists($ob,'__construct')) { 12. call_user_func_array(array($ob,'__construct'),$params); 13. }
但是我想在11-13行手动调用它
可能吗?那如何呢?有什么想法吗?
为什么不这样做?
class Test { public function __construct($param1,$param3) { echo $param1.$param2.$param3; } } $ob = new Test('p1','p3');
编辑:我只是想到一个恶作剧的方式,你可以防止一个构造函数被调用(排序).你可以使用一个空的do-nothing构造函数子类化Test并覆盖构造函数.
class SuBTest extends Test { public function __construct() { // don't call parent::__construct() } public function init($param1,$param3) { parent::__construct($param1,$param3); } } $ob = new Subtest(); $ob->init('p1','p3');
以上是脚本宝典为你收集整理的PHP [OOP] – 如何手动调用类构造函数?全部内容,希望文章能够帮你解决PHP [OOP] – 如何手动调用类构造函数?所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。