Php 如何访问父';如果当前类已在父类中实例化,则为s class属性
我正在尝试用MVC来制作一个简单的框架。这是我正在做的一个例子:Php 如何访问父';如果当前类已在父类中实例化,则为s class属性,php,extended-properties,objectinstantiation,Php,Extended Properties,Objectinstantiation,我正在尝试用MVC来制作一个简单的框架。这是我正在做的一个例子: <?php require_once('config.php'); //Here I have the Config object class App{ protected $config; protected $controller; public function init(){ $this->config = new Config; $this->co
<?php
require_once('config.php'); //Here I have the Config object
class App{
protected $config;
protected $controller;
public function init(){
$this->config = new Config;
$this->controller = new Main_Controller;
}
}
class Main_Controller extends App{
public function __construct(){
var_dump($this->config);
}
}
$app = new App;
$app->init();
如果子类定义构造函数,则不会隐式调用父构造函数。为了运行父构造函数,需要在子构造函数中调用parent::\uu construct()。如果子类没有定义构造函数,那么它可以像普通类方法一样从父类继承(如果它没有声明为private) 嗯,好的,问题是我的应用程序类没有构造函数,所以我很确定我不应该使用parent::\u construct();在我的主控制器类中,因为该函数不存在。我也不认为它与构造函数有关,因为如果我将var_dump放在Main_控制器内的一个经典函数中,然后在实例化Main_控制器之前从应用程序调用它,对于所有的应用程序属性,我仍然得到NULL…我发布的文本直接取自php5文档verbatum,这是我认为实例方法可能不会初始化的唯一方法。有人能澄清吗