PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Objektorientierte Programmierung in PHP - was ist ::


Gast
2005-08-23, 18:09:32
Methoden eines Objektes werden ja so aufgerufen

$obj = new Foo();
$obj->setFoo("bar");

Dann gibt es aber auch
Foo::setFoo("bar");

Was ist das? Ist das das Gleiche wie static Aufrufe in Java?

MadMan2k
2005-08-23, 18:17:38
ja

BTW: http://www.php.net/manual/de/language.oop5.paamayim-nekudotayim.php

clm[k1]
2005-08-23, 18:57:10
Methoden eines Objektes werden ja so aufgerufen

$obj = new Foo();
$obj->setFoo("bar");

Dann gibt es aber auch
Foo::setFoo("bar");

Was ist das? Ist das das Gleiche wie static Aufrufe in Java?

So ruft man statische methoden einer klasse auf.


clm[k1]

Expandable
2005-08-23, 22:23:26
Ja. Wenn Du Foo::setFoo() aufrufst, kannst Du innerhalb der Methode setFoo() nicht auf $this-> zugreifen, weil der Aufruf statisch ist. In PHP5 sollte die Methode deswegen mit dem Schlüsselwort static gekennzeichnet sein.

z3ck3
2005-08-23, 22:41:28
Ich hab da ma ne Frage dazu: Warum macht man dann überhaupt Sachen mit :: und nicht immer mit ->? Denn wenn ich inenrhalb einer Klasse nicht auf $this-> zugreifen kann wirds doch zimlich langweilig und das ding ist nur noch eine Funktion unter vielen, nur halt innerhalb einer Klasse.

MadMan2k
2005-08-24, 00:23:49
Singleton z.B.