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.