我在论坛中看到了相同问题的一些答案..但答案仍然没有提供一个明确的想法..
在其他语言中,如C#正在执行。但为什么不用PHP?
检查示例:
class Student
{
public $name;
public $age;
private $number;
}
class ss
{
public $obj;
public $objs=new Student(); //generating error
public function act()
{
$obj = new Student();
$obj->study();
$obj->studentinfo();
}
}
$ob = new ss();
$ob->act();
答案 0 :(得分:1)
根据PHP文档,任何属性值都必须是常量值。
这个声明可能包括初始化,但是这个 初始化必须是一个常量值 - 也就是说,它必须能够 在编译时进行评估,不得依赖于运行时 信息以便进行评估。
如果您希望$objs
成为Student
的新实例,则应在构造函数中初始化它:
public function __constructor()
{
$this->objs = new Student();
}
答案 1 :(得分:1)
试试此代码
class Student
{
public $name;
public $age;
private $number;
}
class ss
{
var $obj;
public function __construct()
{
$this->obj = new Student();
$this->obj->study();
$this->obj->studentinfo();
}
}
$ob=new ss();
$ob->act();