Path: csiph.com!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail From: =?utf-8?Q?Karl_Pfl=C3=A4sterer?= Newsgroups: de.comp.lang.php Subject: Re: Existenz von Methoden pruefen (inkl. use) Date: Thu, 12 May 2022 15:39:31 +0200 Lines: 24 Message-ID: References: <1t627ce1bfi2d488n3e8%sfroehli@Froehlich.Priv.at> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Trace: individual.net zm/OvExZCcxVUn7DF5sAagYQj7Vu8gjFjbeWMlcj7uOY29qek= Cancel-Lock: sha1:17wdA44TXGyrA3MO1RZ41/k7w7U= sha1:IIuRBjOSeyD023Iu3nJE/RIDmmk= User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (darwin) Xref: csiph.com de.comp.lang.php:4830 Stefan+Usenet@Froehlich.Priv.at (Stefan Froehlich) writes: > Eine Fortsetzung des vorherigen Postings bezüglich automatischer > Code-Prüfung: Bis dato habe ich Klassen-, Konstanten- und > Methodennamen geprüft, indem ich einen ggf. aktiven Namespace vor > den Namen gehängt (=> $fqcn) und dann wahlweise eine dieser drei > Prüfungen durchgeführt habe, wobei $identifier die im Quelltext > gefundene Konstante oder Methode benennt. > > is_subclass_of($fqcn, 'dummy'); > constant("$fqcn::$identifier"); > method_exists($fqcn, $identifier); >... > Wie also tue ich so, als ob ich eine (statische) Methode aufrufe, > ohne das dann tatsächlich zu tun? Bzw. lassen sich die > use-Statements irgendwie doch beim Aufruf von method_exists() > berücksichtigen (IMO nicht, weil die Aliases ja schon beim > compilieren aufgelöst werden)? Reflection https://www.php.net/manual/en/book.reflection.php ist keine Option? KP