我不能在PHP类定义中使用IF-THEN-ELSE和$ _SERVER变量

时间:2011-08-17 15:47:36

标签: php

class MY_CONFIG {
    if ( $_SERVER["SERVER_ADDR"] == "127.0.0.1" ) {
        var $default = array( 'foo' => 1, 'bar' => 2 );
    } else {
        var $default = array( 'foo' => 3, 'bar' => 4 );
    }
}

我是PHP的新手。上面的代码出了什么问题?

系统一直说:

解析错误:语法错误,意外的T_IF,期望第4行的C:\ wamp \ www \ test \ class.php中的T_FUNCTION

感谢。

- Hin

1 个答案:

答案 0 :(得分:5)

类定义中的变量必须是静态的。如果你需要对它们应用逻辑,它应该在构造函数中:

class MY_CONFIG {
    var $default = array('foo' => 3, 'bar' => 4);

    public function __construct() {
        if ( $_SERVER["SERVER_ADDR"] == "127.0.0.1" ) {
          $this->default = array( 'foo' => 1, 'bar' => 2 );
        }
    }

}