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

标签 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

谢谢。

--欣

最佳答案

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

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 );
        }
    }

}

关于php - 我不能在 PHP 类定义中使用 IF-THEN-ELSE 和 $_SERVER 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7095706/

相关文章:

php - 刷新后显示的 Laravel 闪存消息

php - 输出缓冲区时如何查看包含文件中的 php 错误?

php - 插入存储在数组中的所有条目(for 语句)

php - 如何关闭 laravel Debug模式

php - 如何在 PHP 中将 SQL 元素添加到数组中

php - 如何访问第 N 个对象属性名称?

php - 如何在 Kohana 3 项目中安排业务逻辑

php - MySQL和PHP显示错误

php - 兼容Javascript和PHP的RSA加密/解密

php - 优化算法以避免夸大的脚本执行时间