PHP Yansıması
Nette\Utils\Reflection PHP yansıması için yararlı işlevler içeren statik bir sınıftır. Amacı, yerel sınıflardaki kusurları düzeltmek ve PHP'nin farklı sürümlerindeki davranışları birleştirmektir.
Kurulum:
Tüm örnekler aşağıdaki sınıf takma adının tanımlandığını varsayar:
areCommentsAvailable(): bool
Yansımanın PHPdoc yorumlarına erişimi olup olmadığını bulur. Opcode önbelleği nedeniyle yorumlar mevcut olmayabilir, örneğin opcache.save-comments yönergesine bakınız.
expandClassName(string $name, ReflectionClass $context): string
Sınıfın $name
adresini $context
bağlamında, yani isim alanı ve tanımlı takma adları
bağlamında tam isme genişletir. Böylece, $context
gövdesinde yazılmış olsaydı PHP çözümleyicisinin
$name
'u nasıl anlayacağını döndürür.
getMethodDeclaringMethod(ReflectionMethod $method): ReflectionMethod
$method
bildirimini içeren bir yöntemin yansımasını döndürür. Genellikle, her yöntem kendi bildirimidir,
ancak yöntemin gövdesi trait içinde ve farklı bir ad altında da olabilir.
PHP gerçek bildirimi belirlemek için yeterli bilgi sağlamadığından, Nette güvenilir olması gereken kendi sezgisel yöntemlerini kullanır.
getPropertyDeclaringClass(ReflectionProperty $prop): ReflectionClass
$prop
özelliğinin bildirimini içeren bir sınıf veya özelliğin yansımasını döndürür. Özellik,
özellik içinde de bildirilebilir.
PHP gerçek bildirimi belirlemek için yeterli bilgi sağlamadığından, Nette güvenilir olmayan kendi sezgisel yöntemlerini kullanır.
isBuiltinType(string $type): bool
$type
PHP yerleşik türü olup olmadığını belirler. Aksi takdirde, sınıf adıdır.
Nette\Utils\Validator::isBuiltinType() işlevini kullanın.
toString($reflection): string
Bir yansımayı insan tarafından okunabilir bir dizeye dönüştürür.