ReflectionClass ile yorum satırlarını okuma

ReflectionClass ile kodunuz çalışırken(runtime) yorum satırlarını okuyabilirsiniz.

Örneğin aşağıdaki gibi bir class’ınız olduğunu varsayalım.

/**
 * Class User
 */
class User
{
    /**
     * @var string
     */
    protected $name;

    /**
     * @return string
     */
    public function getName()
    {
        return $this->name;
    }
}

Öncelikle ReflectionClass’tan bir obje üretiyoruz ve istediğimiz class’ın adını constructor’dan veriyoruz.

$userReflectionClass = new ReflectionClass('User');
// veya
$userReflectionClass = new ReflectionClass(User::class);

Class’ın yorum satırına erişmek

var_dump($userReflectionClass->getDocComment());

Ekran çıktısı:

string(23) "/**
     * Class User
     */"

Property’nin yorum satırına erişmek

var_dump($userReflectionClass->getProperty('name')->getDocComment());

Ekran çıktısı:

string(32) "/**
     * @var string
     */"

Method’un yorum satırına erişmek

var_dump($userReflectionClass->getMethod('getName')->getDocComment());

Ekran çıktısı:

string(35) "/**
     * @return string
     */"

ReflectionClass ile constant, interface, trait vb. bir çok özelliğe erişebilirsiniz. Tüm özellikler için php dokümanına bakabilirsiniz.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.