Riflessione PHP
Nette\Utils\Reflection è una classe statica con funzioni utili per la riflessione in PHP. Il suo scopo è quello di correggere i difetti delle classi native e di unificare il comportamento delle diverse versioni di PHP.
Installazione:
Tutti gli esempi presuppongono che sia definito il seguente alias di classe:
areCommentsAvailable(): bool
Scopre se reflection ha accesso ai commenti di PHPdoc. I commenti potrebbero non essere disponibili a causa della cache degli opcode, si veda per esempio la direttiva opcache.save-comments.
expandClassName(string $name, ReflectionClass $context): string
Espande il nome $name
della classe al nome completo nel contesto di $context
, cioè nel contesto del
suo spazio dei nomi e degli alias definiti. Quindi, restituisce come il parser PHP capirebbe $name
se fosse scritto
nel corpo di $context
.
getMethodDeclaringMethod(ReflectionMethod $method): ReflectionMethod
Restituisce una riflessione di un metodo che contiene una dichiarazione di $method
. Di solito, ogni metodo è una
dichiarazione propria, ma il corpo del metodo può anche essere nel trait e con un nome diverso.
Poiché PHP non fornisce informazioni sufficienti per determinare la dichiarazione effettiva, Nette utilizza una propria euristica, che dovrebbe essere affidabile.
getPropertyDeclaringClass(ReflectionProperty $prop): ReflectionClass
Restituisce una riflessione di una classe o di un tratto che contiene una dichiarazione di proprietà $prop
. Le
proprietà possono essere dichiarate anche nel tratto.
Poiché PHP non fornisce informazioni sufficienti per determinare la dichiarazione effettiva, Nette utilizza una propria euristica, che non è affidabile.
isBuiltinType(string $type): bool
Determina se $type
è un tipo incorporato in PHP. Altrimenti, è il nome della classe.
Utilizzare Nette\Utils\Validator::isBuiltinType().
toString($reflection): string
Converte una riflessione in una stringa leggibile dall'uomo.