<?php class Car { function getName(){ echo "My name is " . get_class() . "<br>"; echo "My name is " . get_class($this) . "<br>"; } } //类内部调用 $bar = new Car(); $bar->getName(); //类外部调用 echo "It
PHP里的__CLASS__这类东西是静态绑定的,如果不在子类里重载的话,那么继承父类方法所得到的依旧是父类的名称,而不是子类的名称,比如: <?php class A { function __construct() { echo __CLASS__; } static function name() { echo __CLASS__; } } class B extends A { } $objB = new B(); // 输出 A B::name(); // 输出 A 此时,无论将B实例
<?phpclass A { public static function get_self(){ return new self(); } public static function get_static(){ return new static(); } public function public_method(){ return 2; }} class B extends A{ public static function get_b(){ return new self(); } p
php 的一个依赖注入容器, 说白了,就是用php 的反射类,来在运行的时候动态的分析类具有的函数,以及动态分析函数的参数, 从而实例化类,并执行类的方法. 另外,php 中的 typehint 还是很有用的,反射的时候就有用到! 下面贴出代码: <?php class Bim { public function doSomething() { echo __METHOD__, '|'; } } class Bar { private $bim; public function __constr