超类中的自动加载类

时间:2014-02-23 11:56:43

标签: php autoloader

我正在尝试构建自己的MVC框架,但我遇到了自动加载器的问题。

我有以下目录布局:

-application
--Model
---RegiserUser.php
--Libs
---Base.php
---Model.php
---Model
--Controller
---Login.php

Model_RegiserUser扩展了Model,扩展了Base

自动加载器方法位于基类中。我试图模仿你在Zend中加载类的方式:

protected function __autoload( $class_name )
    {
        echo 'test';
        $filename = str_replace( '_', DIRECTORY_SEPARATOR, strtolower( $class_name ) ) . '.php';

        $file = ROOT . $filename;

        echo $file;

        if( !file_exists( $file ) ) {
            return FALSE;
        }
        include $file;
    }

我收到了这个错误:

  

致命错误:第31行的C:\ EasyPHP \ data \ localweb \ application \ controller \ Login.php中找不到类'Model_RegisterUser'

1 个答案:

答案 0 :(得分:1)

strtolower是你的问题...... 在像unix这样的系统上你试图加载文件“registeruser.php”而不是“RegiserUser.php”(区分大小写;))