我正在尝试扩展基类并能够从它的子类访问属性,有人可以解释为什么以下工作:
class Base_Class {
public function is_dev(){
$var = (substr($_SERVER['HTTP_HOST'], -3) == 'dev') ? TRUE : FALSE;
return $var;
}
}
所以我可以通过$this->is_dev()
但以下不起作用:
class Base_Class {
public $var = (substr($_SERVER['HTTP_HOST'], -3) == 'dev') ? TRUE : FALSE;
}
我希望使用$this->var
访问它,但是我得到了一个语法错误,在我到达这个部分之前我不明白。
更新
当我在空间用完之前尝试列出5或6个语法错误时,错误是抱怨很多,以语法错误结束......但第一行读取
expected identifier +,_,static
所有其他人都在说它期待其他各种不存在的东西......肯定会有很多期待
提前致谢。
答案 0 :(得分:4)
使用__construct
功能。这将在加载类时设置var
:
class Base_Class {
public $var;
function __construct(){
$this->var = (substr($_SERVER['HTTP_HOST'], -3) == 'dev') ? TRUE : FALSE;
}
}