我有一个这样的项目:
现在我想自动加载文件夹类和子文件夹中的所有 php 文件。
我可以这样做:
$dirs = array(
CMS_ROOT.'/classes',
CMS_ROOT.'/classes/layout',
CMS_ROOT.'/classes/layout/pages'
);
foreach( $array as $dir) {
foreach ( glob( $dir."/*.php" ) as $filename ) {
require_once $filename;
}
}
但我不喜欢这个。例如。
“布局/页面/a.php”扩展了“布局/页面/b.php”
现在我收到一个错误,因为首先加载了 a.php。你们是如何加载项目文件的?上课?
解决了 :)
这是我现在的代码:
spl_autoload_register('autoloader');
function autoloader($className) {
$className = str_replace('cms_', '', $className);
$className = str_replace('_', '/', $className);
$file = CLASSES.'/'.$className.'.php';
if( file_exists( $file ) ) {
require_once $file;
}
}