无法在PHP类中创建对象

时间:2014-10-22 18:06:30

标签: php class oop

我尝试在PHP类中创建对象,但我在IDE中遇到了一些有趣的错误,例如unexpected ( token等。这是我的代码:

class A {
  public $a = 1;
}

class B {
  $aa = new A(); 
}

问题出在哪里?

3 个答案:

答案 0 :(得分:4)

在PHP中,您只能指定" fixed"类定义中属性的值。

class A {
    public $a = 3; // will work
    public $b = "hello"; // will work
    public $c = foo(); // won't work
    public $d = new Foo(); // won't work
}

如果您想这样做,可以使用每次创建新实例时调用的__construct()方法或您调用的任何其他方法。

class B {
    public $aa; // define visibility of $aa
    function __construct() {
        $this->aa = new A();
    } 
}

答案 1 :(得分:-1)

您需要在类A

上创建构造函数
class A {
    function __construct() {
        $this->a = 1;
    }

    public function returnA() {
        return $this->a;
    }
}

$aa = new A();
echo $aa->returnA();

答案 2 :(得分:-1)

尝试在A类中创建一个构造函数,看它是否有效:

class A {
  public $a;

   function __construct()
   {
      $this->$a = 1;
   }

}

class B {
  $aa = new A(); 
}