У меня есть определенный класс в моем проекте, который используется для загрузки и хранения всего остального, например, библиотек и модулей.
Например;
index.php
---------
require_once "Libs/Damn.php";
$damn = Damn::getInstance();
// Initialize the URI class for handling user's request.
$damn->load('URI');
$damn->load('Modules');
$damn->load('Views');
if($damn->URI->module){
$damn->Modules->load($damn->URI->module);
} else {
$damn->Modules->load('main');
}
Это просто загрузка библиотеки 3 и поискдля имени модуля в URL.Если он не может найти, он загрузит модуль с именем "main" (main.php).
Вот проблема;
Когда я расширяю класс Damn в main.PHP, я не могу получить доступ к загруженным библиотекам, таким как URI, модули, но я хочу.Кажется, что расширение одноэлементного класса не получает экземпляр класса, а просто копирует его.
Я хочу иметь возможность использовать класс модуля, подобный этому;
main.php
--------
<?php
if (!defined('SECURED')) die('Access denied.');
class Main extends Damn {
public function __construct() {}
public function index() {
$this->Views->load('test'); //Views library already loaded when Damn initiated.
}
public function __destruct() {}
}
?>