Php 存在调用类_时自动加载成功/失败

Php 存在调用类_时自动加载成功/失败,php,class,autoload,Php,Class,Autoload,在调用类_exists时,是否需要知道自动加载器是否成功?就在自动加载器检查类是否存在的末尾 function __autoload($className) { //Your code here if(class_exists('You_Class', false)) { //succeed } else { //failure } } 您必须两次检查类_是否存在 如有必要,自动加载 查看类在自动加载后是否存在 我的工作代码是

在调用类_exists时,是否需要知道自动加载器是否成功?

就在自动加载器检查类是否存在的末尾

function __autoload($className) {

    //Your code here

    if(class_exists('You_Class', false)) {
        //succeed
    } else {
        //failure
    }
}
您必须两次检查类_是否存在

如有必要,自动加载 查看类在自动加载后是否存在 我的工作代码是:

$autoload = spl_autoload_functions() ? true : false; // spl_autoload_functions can return array, empty array or false, but we need boolean
$should_include = $autoload ? class_exists($className, true) : true;

if($should_include && !class_exists($className, false)){ // make sure the class does not exist before including
    if(is_readable($fileName)){
        include_once($fileName);
    } else {
        throw new Exception('Could not include ' . $className);
    }
}

这将尝试在后退之前使用先前定义的自动装弹机。

1。不要通过第二个参数或通过false 2。然后检查所返回的类是什么?如果类_存在,则不会调用自动加载程序。所以你的代码是高度冗余的。@php-dev所以我必须运行两次类?如果有自动加载器,一次自动加载器,一次检查自动加载器是否成功?@ThisiPiers,对不起,第二次调用不需要,只需检查类的返回值即可_exists@php-dev so class_exists查看自动加载是否成功,然后检查该类是否存在?我没有看到这种行为被记录在案。class_存在,取决于第二个参数(默认设置为true),检查该类是否存在,如果不存在,则尝试自动加载它。如果调用第二个参数为true或OMMITY时存在类,则应该考虑AutoLoad失败。