我有一些扩展 Loader 类的类。而那些在 Loader 类中声明的类,就像这样 -
class Loader
{
public $sql;
public $logger;
public $view;
public $model;
public $config;
public $url_data;
public function __construct()
{
$url_accepted = $_GET['url'];
$this->config = $GLOBALS['config'];
$database_connection = some array...
$this->sql = new dbHandler($database_connection);
$this->logger = new logger();
$this->view = new view();
$this->view->set_view($config['view']['view']);
$this->model = new model();
...
require_once("app/controllers/frame.php");
view 和 model 是扩展 Loader 的类,并且 frame 扩展了 Loader,但 frame 也扩展了。
出于某种原因,它会自行循环,直到 sql 有很多连接并且 php 内存不足,而 index.php 是唯一声明 Loader 的地方 -
require_once("app/includes/loader.php");
$loader = new Loader();
我不知道是什么问题,但我知道来源是视图和模型的声明。模型和视图都没有对 Loader 的引用,除了在“扩展 Loader”和使用 $this 访问 loader 值。
pastebin 上的代码 - http://pastebin.com/u/Yehonatan
有人可以帮我解决这个问题吗?