假设,我有课,
define('property', 'test');
class myClass
{
public $test;
}
$obj=new myClass;
我可以这样使用吗,
$obj->property="value";
有没有办法实现这个目标?
答案 0 :(得分:3)
是:
$obj->{property}="value";
答案 1 :(得分:1)
执行此操作的最佳方法是创建类似stdClass,例如:
MyClass
{
public function __set($key,$value)
{
$this->{$key} = $value;
}
}
你可以使用
$Storage = new MyClass;
$Storage->SomeNewVar = "Some New Val";
echo $Storage->SomeNewVar;
答案 2 :(得分:0)
是的,您可以按照@Artefacto的建议,但确保在确定属性值不会改变时使用常量!!