我正在構建供個人使用的PHP OOP MVC框架。如何訪問類中的其他類方法(PHP)
我想知道是否有一種方法或正確執行以下操作:
能夠從一個「子」調用一個方法(不擴展)的另一個「繼承」。我的意思是... 我有一個類爲每個子類創建新對象,而不是使用繼承。讓我們把它叫做MainClass,它有3個 「子」 像這樣
class MainClass {
public $db;
public $forms;
public $pagination;
function __construct() {
$this->db = new class_db();
$this->forms = new class_forms();
$this->utils = new class_utils();
}
}
而且這是
$MainClass = new MainClass();
初始化I例如
$MainClass->utils->show_text("Hello World");
而且工作得很好做。
我想要做的是...在$ MainClass-> utils-> test()(另一種測試方法)中,能夠訪問$ MainClass-> db而不使用全局或$ GLOBALS 。
有沒有其他方法可以實現這一目標?爲了能夠訪問另一個子方法內的$ MainClass方法和子方法(從utils和MainClass初始化的主頁面訪問數據庫)?它會怎樣?我希望能夠訪問子方法,比如utils可以訪問數據庫和表單方法。以及MainClass之外的頁面。
謝謝
添加「依賴注入」到你的搜索現有答案的一些想法可能。 – ficuscr
使用'$ this-> utils = new vfw_utils($ this)將您的MainClass實例注入到vfw_constructor中;'當您實例化它時....修改vfw_utils構造函數以將該參數設置爲屬性,等等 –