我收到一个错误:
致命错误:常量表达式在第214行的config.php中包含无效操作
那行是:
protected static $dbname = 'mydb_'.$appdata['id'];
我是否在报价中犯了任何错误?或者别的地方?
我对错误消息的搜索仅显示了不同的原因(函数定义中的动态默认值)。
从 官方的PHP文档:
像任何其他PHP静态变量一样,静态属性只能在PHP 5.6之前使用文字或常量进行初始化。不允许使用表达式。在PHP 5.6和更高版本中,相同的规则与const表达式适用:某些有限的表达式是可能的,只要它们可以在编译时求值即可。
因此,您不能使用另一个变量来初始化静态变量。用$appdata['id']常量字符串替换或删除static属性。
$appdata['id']
static
这是因为 所有其他静态声明都是在编译时解析的,而其他变量的内容是未知的。