【发布时间】:2013-08-23 03:55:55
【问题描述】:
我尝试访问类中的常量:
file1.php
[...]
define('SUBDOMAIN','name');
require_once 'file2.php';
[...]
file2.php
[...]
class Gdl_Ute extends Response_Model {
public $table = SUBDOMAIN.'zi_utp';
public function statuses()
{
[...]
我使用了一些变体,例如:
public function __construct()
{
self::$table = SUBDOMAIN.'zi_utp';
}
但是总有这样的错误:
PHP Parse error: syntax error, unexpected '.', expecting ',' or ';'
或
syntax error, unexpected T_VARIABLE
非常感谢任何提示!我还阅读了有关 stackoverflow 的其他类似问题,但没有人正确回答这个问题:/
更新 现在我测试了以下解决方案:
file2.php
public $table;
public function __construct()
{
self::$table = SUBDOMAIN.'zi_utp';
}
或
file1.php
define('SUBDOMAIN',$subdomain);
const SUBDOMAIN = $subdomain;
结果
Access to undeclared static property OR
syntax error, unexpected T_VARIABLE
【问题讨论】:
-
您只能将变量初始化为标量值(或数组)。如果你只是声明
public $table然后在构造函数中初始化它应该可以工作。