PHP更高效的自动加载

时间:2015-03-19 08:50:32

标签: php autoload

我目前有这个

class SPL_Load {

    public function __construct() {
        spl_autoload_register('self::loader');
    }

    static public function loader($className) {
        $filename = str_replace('\\', '/', $className) . '.php';
        $filename = str_replace('MVC/', '', $filename);
        if(file_exists($filename)) {
            require($filename);
        }
    }
}

调用
new SPL_Load;

在我的index.php文件中,两个类都在同一个文件中声明 - 我想知道是否有办法获取它以便我可以移动它

spl_autoload_register('self::loader'); 

在此过程中运行,以消除对SPL_Load类中__construct()方法的需求

我的意思是这样的

spl_autoload_register('new SPL_Load::loader');

替换SPL_Load构造函数并使代码在代码量方面更有效,尽管我不知道这是否可能/从哪里开始。

任何想法都会很棒,谢谢你们!

1 个答案:

答案 0 :(得分:1)

spl_autoload_register(array($this, 'loader'))

删除" loader"中的静态功能