以下代码在我的本地主机和我的第一个主机上运行良好,但在我的新主机上运行良好。
static function setup ($childModel) {
query::create()
->name($childModel::$tableName)
->mayExist()
->row($childModel::$struct)
->key($childModel::$index)
->run();
}
$childModel
包含一个带有类名的字符串。到目前为止工作正常,但新服务器说:Parse error: syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM in /***/model.php on line 71
(第 71 行是上面代码的第 3 行)
我知道这意味着他不喜欢
::
,但是为什么我的其他服务器都没有在这里提示?我能做些什么呢?更新:它现在有效。服务器切换到新的 php 版本似乎需要一些时间。对不起大家! (我如何关闭这个线程?)
最佳答案
$childModel::$tableName
语法(使用变量作为类名)仅适用于 PHP 5.3+。
您的新主机似乎使用的是旧版本的 PHP。
关于php通过字符串访问类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13297476/