2010-01-15 90 views
3

我决定为我的应用程序使用单例模式。它对我最有意义。但是,就在我感觉我已经取得了一些进展的时候,我碰到了另一堵墙。使用变量动态加载类

我有一个加载函数。加载函数执行以下操作。

检查类是否以前已加载。 - 如果是这样 - 返回$ class :: get_instance(); - 否则 - 在各个地方查找类 - 如果找到 - 返回$ class :: get_instance(); - 否则返回错误。

在采用Singleton模式之前,我使用load类实例化类。

在控制器我会有这个。

$session = $this->load->library('session'); 

然后,负载类会找到该文件,并返回..

return new $class_name; 

我希望改变加载类的方法,这将是一个调整的几行,但这些调整是生成语法错误。

return $class_name::get_instance(); 

有没有办法在没有语法错误的情况下编写上面的代码行?

+0

你没有任何机会得到'语法错误,意想不到的T_PAAMAYIM_NEKUDOTAYIM在...'? – Anurag 2010-01-15 11:08:02

+0

您可能想要将* loaded *更改为* instantiated *。加载听起来更像你只是想包括类文件。 – Gordon 2010-01-15 11:10:24

回答