让我们说在第一个脚本中,它总是首先执行,我定义了一些东西:
define ('ROOTDIR', dirname(__FILE__));
define ('ROOTDIR_ASSETS', ROOTDIR.'/assets');
现在上课:
class PictureGallery
{
const PATH = ROOTDIR.'/imgs';
php 说:语法错误,意外的 '.' 期待''或';'。如何解决?
让我们说在第一个脚本中,它总是首先执行,我定义了一些东西:
define ('ROOTDIR', dirname(__FILE__));
define ('ROOTDIR_ASSETS', ROOTDIR.'/assets');
现在上课:
class PictureGallery
{
const PATH = ROOTDIR.'/imgs';
php 说:语法错误,意外的 '.' 期待''或';'。如何解决?
类常量是PHP必须的常量表达式。因此,您要么必须define
使用完整路径创建另一个 d 常量,要么必须将路径注入到类的构造函数中。或者只是在构造函数中设置。
您不能使用字符串连接定义类常量。
您需要使用成员变量。如果您不希望更改此设置,我建议将其设为私有并仅创建一个获取器来访问它。
class PictureGallery
{
private $_path;
public function __construct()
{
$this->_path = ROOTDIR.'/imgs';
}
public function getPath()
{
return $this->_path;
}
}
或者
您也可以在定义类之前计算值,但是这是一个混乱的解决方案。
define('IMGDIR', ROOTDIR.'/imgs');
class PictureGallery
{
const PATH = IMGDIR;
...
}