我想知道在php5中是否有可能将对象实例化为类变量?
在我的例子中,变量$ a将是A类的一个实例。 但是当我开展工作时似乎并不可行。
你能告诉我怎样才能建立关系" B类有一个变量,它是A类和#34的实例。 ??
<?php
class A{
private $variable1;
private $variable2;
}
class B{
private $variable3;
private $variable4;
private $a = new A();
}
?>
答案 0 :(得分:2)
在构造函数中初始化赋值。之后创建一个B类实例,你可以立即调用A类中的方法。
仅供参考:变量$a
是公开的。
<?php
class A
{
private $variable1;
private $variable2;
public function show()
{
echo "Hi";
}
}
class B
{
public $a;
private $variable3;
private $variable4;
function __construct()
{
$this->a = new A;
}
}
$b = new B;
$b->a->show(); // prints Hi
答案 1 :(得分:2)
您无法在类定义中实例化对象。但是,您可以使用__construct()
魔术方法!
class A{
private $variable1;
private $variable2;
}
class B{
private $variable3;
private $variable4;
private $a;
function __construct() {
$this->a = new A();
}
}
在实例化B类(__construct()
)时执行方法new B()
。因此,只要存在B
,它就会有一个包含类A