查看类的相关信息:PHP函数,非反射API

查看类的相关信息:PHP函数,非反射API

// 基类
class Product{

}
// 继承基类的类
class Gift extends Product {

}
// 操作类,查看对应的类的信息
class ShopCar{
    protected $product;
    public function __construct(Product $product)
    {
        $this->product=$product;
    }
    // 获取对应 对象 的 类
    public function showClass(){
        print get_class($this->product)."\n";
    }
    // instanceof 能根据继承树往上找,而 get_class 则不能,这里就是为了说明这个问题
    public function getFamily(){
        print ($this->product instanceof Product)?"True":"Flase";
    }
    // 获取对应类的方法
    public function getMethod(){
        print_r(get_class_methods($this));
    }
    private function f1(){

    }
    protected function f2(){

    }
    const NUM=10;
    static protected $num=10;
    static private $pwd=10;
    // 查看对应类的属性,注意,不接受对象作为传入参数。
    // 而且该方法无法查看常量
    public function getVars(){
        print_r(get_class_vars("ShopCar"));
    }
}
$shopCar=new ShopCar(new Gift());
$shopCar->showClass();
$shopCar->getFamily();
$shopCar->getMethod();
$shopCar->getVars();

简单来说就是几个函数的使用:

  • get_class
  • instanceof
  • get_class_methods
  • get_class_vars
  • get_parent_class
  • is_subclass_of
  • cass_implements

猜你喜欢

转载自blog.csdn.net/YQXLLWY/article/details/82945058