0

我是 PHP 新手,所以也许我在这里忽略了一些东西,但以下内容:

class someClass {

    var $id = $_GET['id'];

    function sayHello() {

        echo "Hello";

    }

}

给出以下错误:

解析错误:语法错误,第 13 行 C:\xampp\htdocs\files\classes.php 中的意外 T_VARIABLE

如果不是 $_GET['id'] 我将变量 $id 设置为字符串,那么一切都很好。

4

2 回答 2

4

在不使用构造函数的情况下,您不能以这种方式将除常量之外的任何内容分配给类成员。

请参阅手册

[属性的] 声明可能包括初始化,但该初始化必须是一个常量值——也就是说,它必须能够在编译时进行评估,并且不能依赖运行时信息才能进行评估。

另一种方法是使用构造函数来设置值:

class someClass {

    var $id;

    public function __construct(){
        $this->id = $_GET['id'];
    }

    function sayHello() {
        echo "Hello";
    }
}
于 2010-03-22T22:54:26.540 回答
1

您应该在构造函数中分配变量

class someClass {

    function __construct() {
        $this->id = $_GET['id'];
    }

}
于 2010-03-22T22:55:01.450 回答