Mailinglisten-Archive |
Aron Schlesinger schrieb:
>> if (!isset($_SESSION['obj'])) {
>> $_SESSION['obj'] = new test();
>> $obj = &$_SESSION['obj'];
>> $obj->var = 20;
>> }
>
> Nur mal so aus Interesse.
>
> Es ist doch nicht nötig einen Alias zu setzen da dort sowieso 'nur'
> die Referenz zum Speicherort enthalten ist. Sprich wenn ich nun das
> ganze ohne & machen würde. Würde PHP nicht den Umweg über $_SESSION
> gehen müssen?!
wieso Umweg? egal Welchen Variablen-Namen er für den Inhalt einer
Variable verwendet, es ist der gleiche 'Weg'
(PHP4)
$new = new Klasse;
$new_clone =& &new;
$new_clone2 =& $new_clone;
der Zugriff über $new und $new_clone2 ist exakt identisch, keine Umweg,
so oder so rum.
http://www.php.net/references
bei PHP5 werden sowieso bei '=' nur noch Referenzen erzeugt und nicht
das ganze Objekt kopiert.
> Oder liege ich falsch ?
Nur nebenbei: das heißt nicht Alias sondern Referenz.
--
Sebastian Mendel
www.sebastianmendel.de
www.sf.net/projects/phpdatetime | www.sf.net/projects/phptimesheet
php::bar PHP Wiki - Listenarchive