多个spl_autoload_register问题 [英] multiple spl_autoload_register issue
问题描述
我正在开发一个自定义框架。
当我尝试动态调用我的类时,我遇到了一个问题。
这是我的文件的视觉效果:
>
所以我决定为每个文件夹(libs,controllers和modeles)创建一个不同的函数:
function autoloadLibs $ class){
//需要一般类
require'libs /'。 $ class。 '.php';
}
function autoloadModels($ class){
//需要模型类
require'models /'。 $ class。 '.php';
}
function autoloadControllers($ class){
//需要控制器类
require'controllers /'。 $ class。 '.php';
}
spl_autoload_register('autoloadLibs');
spl_autoload_register('autoloadControllers');
spl_autoload_register('autoloadModels');然而,我有这个消息:警告:require(libs / admin.php):failed(libs / admin.php):
<打开流,这不是好的文件夹。但我不知道如何解决。有没有一个好的方法来优化我的类调用?
set_include_path(implode(PATH_SEPARATOR,array(get_include_path(),'./libs','./controllers','./models ')));
spl_autoload_register();
I'm working on the development of a custom framework. And I have encountered an issue when I tried to dynamise the calling of my classes.
This is a visual of my files :
So I decided to create a different function for each folder (libs, controllers et modeles):
function autoloadLibs($class) {
//require the general classes
require 'libs/' . $class . '.php';
}
function autoloadModels($class) {
//require the models classes
require 'models/' . $class . '.php';
}
function autoloadControllers($class) {
//require the controllers classes
require 'controllers/' . $class . '.php';
}
spl_autoload_register ('autoloadLibs');
spl_autoload_register ('autoloadControllers');
spl_autoload_register ('autoloadModels');
Nevertheless I have this message : Warning: require(libs/admin.php): failed to open stream, of cours it's not the good folder. But I don't know how to fix that. Is there a good way to optimise my classes calls ?
After few tests, I found this solution for my case :
set_include_path(implode(PATH_SEPARATOR, array(get_include_path(), './libs', './controllers', './models')));
spl_autoload_register();
这篇关于多个spl_autoload_register问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!