Php 我的自动加载器应该触发一个";“抛出新异常”;但以“结束”;致命错误“;
我的自动加载器应触发“抛出新异常”,但以“致命错误:未找到类'App\Asdfg'[…]”结束。 我的自动加载接收类名,命名空间与目录文件匹配Php 我的自动加载器应该触发一个";“抛出新异常”;但以“结束”;致命错误“;,php,exception,autoload,Php,Exception,Autoload,我的自动加载器应触发“抛出新异常”,但以“致命错误:未找到类'App\Asdfg'[…]”结束。 我的自动加载接收类名,命名空间与目录文件匹配 Class Autoloader: $position = strpos($class, '\\'); System::load(substr($class, 0, $position), substr($class, $position + 1)); Class System function load($dir, $file) { if
Class Autoloader:
$position = strpos($class, '\\');
System::load(substr($class, 0, $position), substr($class, $position + 1));
Class System
function load($dir, $file) {
if (! isset(system::$dirs[$dir]))
throw new Exception($dir);
include system::$dirs[$dir].'\\'.$file;
}
当我试图实例化一个不存在的类时,我应该得到一个异常,但它不工作
新建\App\asdfg
致命错误:找不到类“App\asdfg”[…]
我在哪里可能出错?
类名{……}
这里的其他注释在哪里?在包含该文件之前,我没有看到任何测试来查看该文件是否存在?您只需尝试包含它,如果它不存在,则会出现致命错误。我不检查文件是否只是使用以下命令测试路径:if(!isset(system:$dirs[$dir]))
,因此如果文件不存在,则会出现致命错误。。。。首先使用文件测试,如果为false,则抛出异常