解析错误:语法错误,意外的'。',期待','或';'

这东西让我感到很烦。 我得到Parse错误:语法错误,意外的'。',期待','或';' 在这条线上

public static $user_table = TABLE_PREFIX . 'users';

TABLE_PREFIX是由定义函数创建的常量


静态类属性在编译时被初始化。 在初始化静态类属性时,不能使用常量TABLE_PREFIX与字符串文字进行连接,因为直到运行时才会知道该常量的值。 相反,在构造函数中初始化它:

public static $user_table;

// Initialize it in the constructor 
public function __construct() {
  self::$user_table = TABLE_PREFIX . 'users';
}

// If you only plan to use it in static context rather than instance context 
// (won't call a constructor) initialize it in a static function instead 
public static function init() {
  self::$user_table = TABLE_PREFIX . 'users';
}

http://us2.php.net/manual/en/language.oop5.static.php

像任何其他PHP静态变量一样,静态属性只能使用文字或常量初始化; 表达式是不允许的。 因此,虽然可以将静态属性初始化为整数或数组(例如),但不能将其初始化为其他变量,函数返回值或对象。

PHP> = 5.6更新

PHP 5.6为表达式提供了有限的支持:

在PHP 5.6和更高版本中,与const表达式相同的规则适用:如果可以在编译时对它们进行评估,则可以使用一些有限的表达式。


该点是一个字符串连接运算符。 它是一个运行时函数,因此不能用于声明静态(parsetime)值。

链接地址: http://www.djcxy.com/p/11937.html

上一篇: Parse error: syntax error, unexpected '.', expecting ',' or ';'

下一篇: PHP Parse error: syntax error, unexpected ',' in