Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php __自动加载不运行?_Php_Oop_Autoload - Fatal编程技术网

Php __自动加载不运行?

Php __自动加载不运行?,php,oop,autoload,Php,Oop,Autoload,我有一个像这样的文件结构 / /public -index.php -login.php /config.php /init.php /classes/ClassGroup/ClassName.class.php __autoload在config.php中定义,具有类的绝对路径。 index.php中需要config.php,但是当我尝试启动一个新类时 $user = new User_User; 导致 Fatal error: Class 'User_User' not foun

我有一个像这样的文件结构

/
/public
  -index.php
  -login.php
/config.php
/init.php
/classes/ClassGroup/ClassName.class.php
__autoload在config.php中定义,具有类的绝对路径。 index.php中需要config.php,但是当我尝试启动一个新类时

$user = new User_User;
导致

Fatal error: Class 'User_User' not found in /......./public/index.php on line 27
它找不到它,并且当尝试在uu autoload()的最开始回显某些内容时,它也不会这样做,因此在我看来,它在找不到类时似乎不会运行该函数。 有人知道问题出在哪里吗

function __autoload($class){
    //echo "autoloader started";
    $pieces = explode('_', $class);
    $path = __SITE_PATH.'/classes';
    foreach( $pieces as $i ){
        $path .=  '/'.$i;
    }
    //echo "trying to include " .$path.".class.php";
    require_once( $path . '.class.php' );
}

您的
\uu autoload
函数执行了一个
require()
,这意味着如果找不到该文件,它将因致命错误而死亡。这意味着有两种可能性:

  • 未调用您的
    \u自动加载
    函数
  • 您的
    \u autoload
    函数正在加载User.class.php,但该文件未定义类User\u User

  • 添加
    echo$路径;死亡
    到您的
    \uu自动加载
    ,查看它是否实际被调用以及它试图加载的内容。检查User.class.php是否确实定义了类User\u User,并且类名称中没有输入错误。

    您的
    \u autoload
    函数执行
    require()
    ,这意味着如果找不到文件,它将因致命错误而死亡。这意味着有两种可能性:

  • 未调用您的
    \u自动加载
    函数
  • 您的
    \u autoload
    函数正在加载User.class.php,但该文件未定义类User\u User

  • 添加
    echo$路径;死亡
    到您的
    \uu自动加载
    ,查看它是否实际被调用以及它试图加载的内容。检查User.class.php是否确实定义了类User\u User,并且类名称中没有输入错误。

    您的
    \u autoload
    函数执行
    require()
    ,这意味着如果找不到文件,它将因致命错误而死亡。这意味着有两种可能性:

  • 未调用您的
    \u自动加载
    函数
  • 您的
    \u autoload
    函数正在加载User.class.php,但该文件未定义类User\u User

  • 添加
    echo$路径;死亡
    到您的
    \uu自动加载
    ,查看它是否实际被调用以及它试图加载的内容。检查User.class.php是否确实定义了类User\u User,并且类名称中没有输入错误。

    您的
    \u autoload
    函数执行
    require()
    ,这意味着如果找不到文件,它将因致命错误而死亡。这意味着有两种可能性:

  • 未调用您的
    \u自动加载
    函数
  • 您的
    \u autoload
    函数正在加载User.class.php,但该文件未定义类User\u User

  • 添加
    echo$路径;死亡
    到您的
    \uu自动加载
    ,查看它是否实际被调用以及它试图加载的内容。检查User.class.php是否确实定义了类User\u User,并且类名中没有输入错误。

    我发现了问题,显然这个函数没有被自动调用。 这是解决办法

    spl_autoload_register('__autoload');
    

    这很有效。

    我发现了问题,显然这个函数没有被自动调用。 这是解决办法

    spl_autoload_register('__autoload');
    

    这很有效。

    我发现了问题,显然这个函数没有被自动调用。 这是解决办法

    spl_autoload_register('__autoload');
    

    这很有效。

    我发现了问题,显然这个函数没有被自动调用。 这是解决办法

    spl_autoload_register('__autoload');
    


    这很有效。

    让我们看看自动加载功能……您可以使用数组get_included_files()检查包含哪些文件。我不了解您的文件结构。你能组织得更好吗?@MarcelColomb这和自动加载有什么关系?“我的房子没有电”“别担心-你可以在加油站用一些水来清洁你的汽车”。如果你在config.php中回音,它会回音吗?让我们看看自动加载功能…你可以使用数组get_included_files()来检查包含哪些文件。我不理解你的文件结构。你能组织得更好吗?@MarcelColomb这和自动加载有什么关系?“我的房子没有电”“别担心-你可以在加油站用一些水来清洁你的汽车”。如果你在config.php中回音,它会回音吗?让我们看看自动加载功能…你可以使用数组get_included_files()来检查包含哪些文件。我不理解你的文件结构。你能组织得更好吗?@MarcelColomb这和自动加载有什么关系?“我的房子没有电”“别担心-你可以在加油站用一些水来清洁你的汽车”。如果你在config.php中回音,它会回音吗?让我们看看自动加载功能…你可以使用数组get_included_files()来检查包含哪些文件。我不理解你的文件结构。你能组织得更好吗?@MarcelColomb这和自动加载有什么关系?“我的房子没有电”“别担心,你可以在加油站用一些水来清洁你的汽车”。如果你在config.php中回音,它会回音吗?这不是一个解决方案,这是一个解决办法。自动加载功能是一个神奇的功能。它重新定义了自动加载。如果不调用它,则会出现另一个问题。来自php.net:Tip spl_autoload_register()为自动加载类提供了更灵活的替代方法。因此,不鼓励使用_autoload(),将来可能会被弃用或删除。您会问为什么_autoload不起作用。你用“做点别的”来回答这个问题。即使其他的东西确实起作用,它也不能回答最初的问题:为什么自动加载不起作用。这不是一个解决方案,这是一个解决办法。自动加载功能是一个神奇的功能。它重新定义了自动加载。如果不调用它,则会出现另一个问题。来自php.net:Tip spl_autoload_register()为自动加载类提供了更灵活的替代方法。对于这个r