2012-11-08 23 views
0

以下代码在我的本地主机和我的第一个主机上工作正常,但不在我的新主机上。按字符串访问php的类

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版本。对不起大家! (如何关闭此线程?)

+2

您的3台服务器正在运行哪些版本的PHP?我的猜测是新的使用旧的。 –

+0

所有服务器运行php 5.3 – edave

回答

1

$childModel::$tableName语法(使用变量作为类名称)仅适用于PHP 5.3+。

看起来您的新主机使用的是旧版本的PHP。