大佬教程收集整理的这篇文章主要介绍了PHP:从父方法中的静态方法调用子构造函数,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
一个让这个更清晰的例子:
class parent { public static method make_objects($conditions){ for (...){ // here i want to create an instance // of whatever subclass i am calling make_objects on // based on certain $conditions } } } class sub extends parent{ ... } $objects = sub::make_objects($some_conditions);
<?PHP class A { public static function newInstance() { $rv = new static(); return $rv; } } class B extends A { } class C extends B { } $o = A::newInstance(); var_dump($o); $o = B::newInstance(); var_dump($o); $o = C::newInstance(); var_dump($o);
版画
object(A)#1 (0) { } object(B)#2 (0) { } object(C)#1 (0) { }
编辑:另一个(类似的)例子
<?PHP class A { public static function newInstance() { $rv = new static(); return $rv; } public function __construct() { echo " A::__construct\n"; } } class B extends A { public function __construct() { echo " B::__construct\n"; } } class C extends B { public function __construct() { echo " C::__construct\n"; } } $types = array('A','B','C'); foreach( $types as $t ) { echo 't=',$t,"\n"; $o = $t::newInstance(); echo ' type of o=',get_class($o),"\n"; }
版画
t=A A::__construct type of o=A t=B B::__construct type of o=B t=C C::__construct type of o=C
以上是大佬教程为你收集整理的PHP:从父方法中的静态方法调用子构造函数全部内容,希望文章能够帮你解决PHP:从父方法中的静态方法调用子构造函数所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。