【发布时间】:2011-05-29 16:49:58
【问题描述】:
我的项目中有一个特定的类,用于加载和保存其他所有内容,例如库和模块。
例如;
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)的模块。
这就是问题所在;
当我在 main.php 中扩展 Damn 类时,我无法访问加载的库,如 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() {}
}
?>
【问题讨论】:
标签: php design-patterns frameworks singleton