1. 程式人生 > >PHP OOP 反射機制

PHP OOP 反射機制

 初步接觸反射機制(可以獲取到改類的所有資訊)

ReflectionClass 類報告了一個類的有關資訊。

<?php
header("content-type:text/html;charset=utf-8");
// 未知類 框架的架構;
class Dog{
    public $name;
    public $age;
    public $color;
    public $lover;

    public function __construct($name,$age,$color,$lover)
    {
        
        $this->name = $name;
        $this->age = $age;
        $this->color = $color;
        $this->lover = $lover;
    }

    public function __toString()
    {
        echo "__toString";
        // 返回該類的相關資訊,比如類名,所有成員方法和所有屬性
       // 建立一個反射物件,也就是一個類本身也可以看成一個物件
        $selfClass = new ReflectionClass($this);
        var_dump($selfClass);
        // 通過反射物件獲取該類的相關資訊
        var_dump($selfClass->getName()); // 獲取類名
        var_dump($selfClass->getMethods()); // 所有方法 返回時陣列
        var_dump($selfClass->getProperties()); // 獲取所有的屬性,返回陣列;

        return '';
    }
}

$dog = new Dog("小花",12,"red","大鵬");
echo $dog;