Я хотел бы динамически назначать значение в свойстве класса (то есть ссылаться на него с помощью переменной).
#Something like: setPropValue($obj, $propName, $value);
$obj->$propName = $value;
Если вы хотите сделать это для статических членов , вы можете использовать переменные переменные:
class Foo { public static $foo = 'bar'; } // regular way to get the public static class member echo Foo::$foo; // bar // assigning member name to variable $varvar = 'foo'; // calling it as a variable variable echo Foo::$$varvar; // bar // same for changing it Foo::$$varvar = 'foo'; echo Foo::$$varvar; // foo
Как это?
$myClass = new stdClass(); $myProp = 'foo'; $myClass->$myProp = 'bar'; echo $myClass->foo; // bar echo $myClass->$myProp; // bar