<?php
class CSS {
public $base = '/public/stylesheets';
public $global = $base . '/global.css';
}
?>
当我打开我的网站时,会显示“Parse error: syntax error, unexpected '$base' (T_VARIABLE)
”
怎么了?
答案 0 :(得分:3)
在php中,您不能在类属性声明期间使用任何运算符或引用变量。您必须在类构造函数中初始化属性值:
class CSS {
public $base = '/public/stylesheets';
public $global;
public function __construct() {
$this->global = $this->base . '/global.css';
}
}
这个php手册引用中指定:
类成员变量称为“属性”。你也可以看到它们 引用使用其他术语,如“属性”或“字段”,但 出于本参考的目的,我们将使用“属性”。他们是 使用关键字public,protected或private之一定义, 然后是正常的变量声明。 此声明可能 包含初始化,但此初始化必须是常量 值 - 也就是说,它必须能够在编译时进行评估 不得依赖于运行时信息才能进行评估。
答案 1 :(得分:1)
您不能在另一个变量中使用变量。使用类常量,如下所示:
<?php
class CSS {
const CSSPATH = '/public/stylesheets';
public $base = '/public/stylesheets';
public $global = CSSPATH . '/global.css';
}
?>