OOP PHP:我如何分配变量值?

时间:2010-12-06 10:46:06

标签: php oop

把这个问题写成文字并不是很好....

我正在使用API​​更新一些客户信息

$customer =             new Customer();
$customer->first_name = $value;
$customer->update();

以上内容会更新first_name,但我想改变名字的位置:

$attribute =                'first_name';    
$customer =                 new Customer();
$customer->$attribute =     $value;
$customer->update();`

然后会引用Customer类中的公共变量。

我想避免为每个属性编写一个方法(setter)。

2 个答案:

答案 0 :(得分:2)

$obj->$attr$obj->{$attr}都将以相同的方式运作。在这种情况下,{}是多余的。当你需要写$obj->{"123"}之类的东西时,它们才有意义。

<?php
$obj = new stdClass();
$attr = 'my_attr';
$obj->$attr = 'test'; 
var_dump($obj);
?>

您的代码存在的问题是您输错了。或者,如果拼写错误仅在问题文本中,那么您没有任何问题。

答案 1 :(得分:0)

你可以像

那样做
$attr = 'my_attr';
$obj->{$attr};