插件中的自动加载类

时间:2018-11-14 作者:Blackbam

在自定义WordPress插件中,我有一个文件夹/classes 大约有20节课。课程有时会改变,来来往往。我希望自动加载文件夹中的所有这些类。

不,我的想法是通过一个简单的循环加载这些文件,需要:

foreach (scandir(dirname(__FILE__)."/classes/") as $filename) {
    $path = dirname(__FILE__) . \'/\' . $filename;
    if (is_file($path)) {
        require $path;
    }
}
然而,这不起作用,因为在超类之前加载了子类,我得到了一个致命错误。

PHP通常通过spl_autoload_register() 作用

然而,如果在多个插件中使用,这似乎不起作用。有人找到解决这个问题的好办法了吗?

1 个回复
SO网友:Blackbam

评论中建议的Composer Autoloader是最好的方法。只需使用Composer类映射功能:

"autoload": {
    "classmap": ["classes/"]
}

结束

相关推荐

错误日志中有未定义的DB_USER wp-admin/setup-config.php

我有一个正在运行的WordPress网站一段时间了。最近,我注意到某人或某事正在请求www.example.com/wp-admin/setup-config.php?step=0. 导致我的错误日志中出现这些条目的原因是什么?PHP Warning: Use of undefined constant DB_USER - assumed \'DB_USER\' (this will throw an Error in a future version of PHP) in /var/www/html/