如果标题有点模糊,我很抱歉,我不知道如何描述它。
我正在制作自己的小框架。事情进展顺利,我很乐意看到我通常不需要查看的主题,因为“魔术”对我有用。
我的框架是基于PHP的,我希望它从单个实例运行。我的意思是以下几点。
class Controller_Name extends Controller {
public function __construct() {
$this->load->library('session');
$this->load->model('Model_Name');
}
}
class Model_Name extends Model {
public function something() {
if ($this->session->get($something))
// Do something Amazing
}
}
如上所述,我希望所有控制器/模型/视图共享已加载的库。
因此,如果在Controller中加载了一个类,我将能够在视图文件中使用它。
有谁知道这是怎么做到的?你可以指点我的文章方向,这个叫做或者某些php函数调用完全或部分完成这项工作。
与往常一样,我们非常感谢任何答案。
答案 0 :(得分:0)
您的控制器可以实现__get并拦截已加载库的请求。理想情况下,您将库存储在静态字段中,以获得您想要的重用。
此外,为了使加载行为像您想要的那样,我个人创建一个Loader类并在Controller中创建它的实例。然后在__get魔术方法中,我将它从加载器中获取它。
答案 1 :(得分:0)
如果您的目标是确保解决课程中的所有依赖关系,请查看Service Containers或Symfony Dependency Injection Component框架中的Stubbles。