Einzelnen Beitrag anzeigen

Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#76

AW: PHP - sind hier "Sicherheitsexperten" an Board?

  Alt 9. Aug 2010, 19:08
Erklaer mal dein Problem in Ruhe von Anfang an, ohne komischen WTF-Code. Ich hab absolut nicht verstanden was du ueberhaupt willst.

Kurzer Code zur Erklaerung:
PHP-Quellcode:
class A
{
  public function foo()
  {
    echo __CLASS__;
  }
}

class B extends A
{
}

$b = new B();
Kurz zur Erklaerung: __CLASS__ ist eine magische Konstante, die immer den Namen der aktuellen Klasse beinhaltet (oder nicht definiert ist wenn du nicht im Klassen-Kontext bist).
$b->foo(); Dieser Code gibt "A" aus.

get_class() ist eine Methode, der du ein Objekt, keinen String (auch nicht sowas: get_class(meineKlasse), denn das ist auch nur ein String mit Compiler-Warnung) uebergibst und die dir den Klassennamen zurueckliefert.
get_class($b) Dieser Code gibt "B" aus.

instanceof prueft ob ein Objekt ein Child einer Klasse ist.
PHP-Quellcode:
var_dump($b instanceof B);
var_dump($b instanceof A);
In diesem Fall wird zweimal true ausgegeben, denn durch die Vererbung ist $b auch eine Instanz von A.

Klar soweit?

Greetz
alcaeus

PS: __CLASS__ ist kein Schrott. Es sieht auch nicht scheisse aus wenn an einer Stelle die Klasse benutzt wird und an anderer der String. Hin und wieder brauchts das eben so. Schrott oder Scheisse ist es nur, wenn du es nicht schaffst Konzepte auseinanderzuhalten.
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat