phpbar.de logo

Mailinglisten-Archive

[php] objekte in sessions - solved

[php] objekte in sessions - solved

Aron Schlesinger aron at viplocations.de
Fre Apr 15 14:20:16 CEST 2005


Am 15.04.2005 um 13:56 schrieb Sebastian Mendel:

> 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'

Ja, jetzt wo Du es sagst völlig richtig.

> (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.

Ich bin auch von PHP5 ausgegangen was natürlich in diesem Thread
falsch ist.
Eben genau das meinte ich. Eine Referenz vom Speicherort zu
$_SESSION['obj'] und noch eine von $_SESSION['obj'] zu $obj.
Aber eben genau das wahr mein Denkfehler.

>
>> Oder liege ich falsch ?
>
> Nur nebenbei: das heißt nicht Alias sondern Referenz.

Ich wies, bin wohl gerade ein bisschen tcsh skript geschädigt :)

--
Aron

php::bar PHP Wiki   -   Listenarchive