比方說,我有通行證類屬性值的方法參數
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