比方说,我有通行证类属性值的方法参数
class A {
private $_property = 'string';
public function method($property=$this->_property) {
// ...
}
}
它不会让我这样做。
我想这样做是(也许不好的做法,但仍...)原因:
我想要的属性的默认值在本类中的每个方法是“串”,但我不想
public function method($property='string')
,因为如果我需要改变它,我必须这样做,在每一个方法我要传递的参数初始化类,以及使用这种方法的时候,所以我最近需要
$class = new A(); $param = 'string2'; $class->method($param);
由于
$_property
是私人的,我不能改变它的值如果我做的:
class A {
private $_property = 'string';
public function method($property) {
$property = $this->_property;
}
}
这并不让我帕拉姆从外部改变。我的意思是,无论来自第2点的代码如何,它总是'字符串'。
有没有办法从第一个引用的代码中实现该点,而不会将该属性设为公共,既不分配内部方法, PARAM?
我真的很喜欢这个解决方案。谢谢! :) – 2013-05-07 11:54:05