Strona 1 z 1

[PHP] $$zmienna a obiekty

: sob lis 17, 2007 12:34 am
autor: Keph
Witam,

Jak wiadomo, PHP ma taką sprytną konstrukcję: $$zmienna, która pozwala stworzyć zmienną o nazwie wczytanej z innej zmiennej. Na codzień to działa, jednak w przypadku próby zadziałania w taki sposób ze zmienną przynależną do obiektu ($obiekt->zmienna) ten trik już nie działa. Czy jest jakiś sposób na zmuszenie tego do działania w sposób analogiczny do nie-obiektowego?

Można to niby zrobić naokoło, przez zmienne pomocnicze, ale - już chociażby z czystej ciekawości - interesuje mnie rozwiązanie tego problemu ;)

Pozdrawiam,
Keph

Re: [PHP] $$zmienna a obiekty

: sob lis 17, 2007 1:06 am
autor: Keph
Meh, odkryłem, że błąd (idiotyczny! ;)) tkwił gdzieś indziej i jeden z moich pomysłów był dobry. Jeśli kogoś interesuje rozwiązanie, służę uprzejmie:

[php]<?php
$obiekt->{$zmienna};
?>[/php]

Pozdrawiam ;)
Keph

Re: [PHP] $$zmienna a obiekty

: śr lis 21, 2007 12:08 am
autor: 123456
Metody magiczne __get i __set służą do tego...
[php]<?php
class Klasa
{
public $zmienna1 = 'wartosc 1';

public function __set($nazwa, $wartosc)
{
$this->$nazwa = $wartosc;
}
public function __get($nazwa)
{
return $nazwa;
}
}

$obj = new Klasa;

$obj->zmienna2 = 'wartosc 2';
$obj->zmienna3 = 'wartosc 3';

print $obj->zmienna1;
print $obj->zmienna2;
print $obj->zmienna3;
?>[/php]