Anzeige:
Ergebnis 1 bis 3 von 3

Thema: Herausfinden, ob eine statische Klasse ein Interface implementiert?

  1. #1
    Registrierter Benutzer
    Registriert seit
    07.08.2002
    Beiträge
    114

    Herausfinden, ob eine statische Klasse ein Interface implementiert?

    Gibt es in PHP eine Möglichkeit, herauszufinden, ob eine statische Klasse ein bestimmtes Interface implementiert? instanceof arbeitet ja nur auf objekten und ein function_exists('Klasse::funktion') (was mir eigentlich reichen würde) funktioniert auch nicht.

  2. #2
    Registrierter Benutzer Avatar von Romanday
    Registriert seit
    03.02.2004
    Beiträge
    829
    Zitat Zitat von Xerxes Beitrag anzeigen
    Gibt es in PHP eine Möglichkeit, herauszufinden, ob eine statische Klasse ein bestimmtes Interface implementiert? instanceof arbeitet ja nur auf objekten und ein function_exists('Klasse::funktion') (was mir eigentlich reichen würde) funktioniert auch nicht.
    Wie wärs mit get_declared_interfaces() oder interface_exists()?
    http://www.php.net/manual/en/functio...interfaces.php

    Unter PHP4 kannst Du auch method_exists() nehmen.
    Abriss, bzw. die Sprengung des World Trade Centers
    WDR Dokumentation
    Doku + DT Untertitel
    Weitere Infos - Terrorstorm

  3. #3
    Registrierter Benutzer
    Registriert seit
    07.08.2002
    Beiträge
    114
    ne. das geht leider beides nicht. get_declared_interfaces gibt mir ja nur ne liste aller interfaces zurück, aber sagt nichts darüber aus, ob eine klasse ein bestimmtes interface auch wirklich implementiert.

    und method_exists() arbietet auch nur auf objekten, aber nicht direkt auf klassen.

    hier ein beispiel von meinem problem:

    PHP-Code:
    interface Fooable {
        public static function 
    getFoo();
    }

    class 
    Bar implements Fooable {

        public static function 
    getFoo() {
            return 
    'Foo';
        }
    }

    // Vor folgendem Funktionsaufruf möchte ich gern sichergehen, dass "Bar"
    // "Fooable" implementiert:
    $var Bar::getFoo(); 

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •