我目前正在构建自己的PHP框架,并创建了许多目录来存储我的类。
这是我目前的自动加载功能:
function __autoload($className)
{
$locations = array('', 'classes/', 'classes/calendar/', 'classes/exceptions/', 'classes/forms/', 'classes/table/', 'classes/user', 'pages/', 'templates/');
$fileName = $className . '.php';
foreach($locations AS $currentLocation)
{
if(file_exists($currentLocation . $fileName))
{
include_once ($currentLocation . $fileName);
return;
}
}
}
现在在我的主类文件中,我确实已经包含了所有必需的类,因此不必搜索它们。
以下是我的问题:
答案 0 :(得分:1)
require
,原因有两个:a)如果文件已经包含在内,您不需要使用PHP跟踪,因为如果有,则不需要调用{{ 1}}首先和b)如果不能包含文件你将无法继续执行作为参考,__autoload
与名称空间之间的交互记录为here。