[英]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.