[英]PHP Class variables with Constants
我在常量(DEPLOYMENT)的行上收到解析错误。 为什么现在允许这样做,还是我错过了一些东西。
解析错误:解析错误,期望输入“')”
class UploadComponent extends Object {
private $config = array(
'accessKey' => 'XXXX',
'secretKey' => 'XXXX',
'images' => array(
'bucket' => DEPLOYMENT.'-files/images',
'dns' => false
),
'files' => array(
'bucket' => DEPLOYMENT.'-files/files',
'dns' => false
),
'assets' => array(
'bucket' => DEPLOYMENT.'-files/assets',
'dns' => false
)
);
....
}
定义类var时不能使用变量。 而是在构造函数中初始化数组:
class UploadComponent extends Object {
private $config;
function __construct() {
$this->config = array(
'accessKey' => 'XXXX',
'secretKey' => 'XXXX',
'images' => array(
'bucket' => DEPLOYMENT.'-files/images',
'dns' => false
),
'files' => array(
'bucket' => DEPLOYMENT.'-files/files',
'dns' => false
),
'assets' => array(
'bucket' => DEPLOYMENT.'-files/assets',
'dns' => false
)
);
}
}
原因是“常量”可以动态定义。 因此,它们的内容仅在运行时已知,而在编译时未知。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.