在PHP函数中引用类变量作为默认参数
我希望在我的类中有一个具有默认参数的函数,以便在需要时可以省略参数。我希望默认值是存储在类中的变量 嗨,为什么在Aptana中显示错误消息在PHP函数中引用类变量作为默认参数,php,function,optional-parameters,Php,Function,Optional Parameters,我希望在我的类中有一个具有默认参数的函数,以便在需要时可以省略参数。我希望默认值是存储在类中的变量 嗨,为什么在Aptana中显示错误消息 class property{ private $id; function load_data($id = $this->id){ //...blah blah blah } } 我应该改用 class property{ static $id; function load_data($id =
class property{
private $id;
function load_data($id = $this->id){
//...blah blah blah
}
}
我应该改用
class property{
static $id;
function load_data($id = self::id){
//...blah blah blah
}
}
?
谢谢你的帮助我很确定你不能做你想做的事。相反,您只需检查参数是否有值,如果没有,则指定默认值,即对象属性
class property{
private $id;
function load_data($id = null){
$id = (is_null($id)) ? $this->id : $id;
}
}
您可以这样做:
class property
{
private $id;
function load_data($id = null){
if (is_null($id)) {
$id = $this->id;
}
//...blah blah blah
}
}
我知道这是一个老问题,但我是在寻找同样的问题时提出的,答案是肯定的,只要你将它定义为常数,你就可以做到:
class property{
const $id;
function load_data($id = self::id){
//...blah blah blah
}
}
没那么近,在我点击submit之前看到了AJAX通知@杰克马奥尼:哈哈,讽刺?如果您认为我们的答案中有一个是可以接受的,请接受一个。@MikePurcell-nah看到这一点很有趣。接受以上答案,但你的答案是一样的,所以谢谢way@JackMahoney字体没问题,重要的是你的问题得到了回答。虽然我喜欢三元结构,但我尽量避免将变量设置为自身。