[英]How do I Instantiate a class within a class in .php
我是 OOP 的新手,我不明白为什么这不起作用。 在一个类中实例化一个类是否可以。 我已经在方法中使用包含的文件尝试过这个,但它没有做任何改变。
include('Activate.php');
class First {
function __construct() {
$this->activate();
}
private function activate() {
$go = new Activate('Approved');
}
}
$run = new First();
您是说要访问$go
吗? 因为,如果是这种情况,您需要更改它的范围。
如您所见,此方法中的$go
仅在activate()
可用:
private function activate() {
$go = new Activate('Approved');
}
要使其可从类中的其他位置访问,您需要在activate()
之外声明它:
private $go = null;
你使用$this
调用$go
:
private function activate() {
$this->go = new Activate('Approved');
}
之后,如果要从外部类访问 go,则需要创建包装器:
public function getGo(){
return $this->go;
}
希望这有帮助。 此外,您可以阅读有关 PHP 中 OOP的文档。
好的,我想出了我的问题。 我的代码有两个错误。 一个作为我的方法被设置为私有,其次我在发送给班级的$parms
中有一个错误。
include('Activate.php');
class First {
function __construct() {
$this->activate();
}
private function activate() {
$go = new Activate('Approved');
}
}
$run = new First();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.