只是一个想法:
示例(在PHP中): 设置名称: $对象 - >名称( '名称'); 得到名字: $对象 - >名称();
如果没有参数:该方法用作getter,否则用作setter。对于简单的getter / setter。愚蠢,不管怎样,也许?
编辑:跟进答案:我不太喜欢获取和设置,因为我更喜欢让界面尽可能明确。当只有少数几个属性时,恕我直言也太过分了。所以我想用一些明确的getter / setter将它缩小到类/对象。
答案 0 :(得分:4)
问题是很难遵循。我更倾向于使用PHP5的__get和__set,因此获取和设置变量更自然,每个人都会知道我在做什么。 IE:
class myClass { function __get($name) { return $this->array[$name]; } function __set($name, $value) { $this->array[$name] = $value; } function print() { echo $this->array['test']; } } $obj = new myClass; $obj->test = "Hi"; echo $obj->test; //echos Hi. $obj->print(); //echos Hi.
答案 1 :(得分:2)
可以使用__call()魔术方法完成。
class Test {
public function __call($name, array $args) {
$variable =& $this->$name;
if(!empty($args)) {
$variable = $args[0];
}
return $variable;
}
}
答案 2 :(得分:1)
当然,如果你的应用程序有意义,你可以这样做,否则我只会使用已经为你设置的标准getter / setter。你的功能看起来像这样:
public function name($val = null)
{
if (is_null($val))
{
return $this->name;
}
else
{
$this->name = $val;
}
}