zend-framework - 新 Zend_Loader_Autoloader 找不到文件

标签 zend-framework include-path zend-autoloader zend-loader

我刚刚从 ZF 1.7 升级到 ZF 1.9,几乎一切正常……除了 Autoloader。

老的:

require_once('Zend/Loader.php');  
Zend_Loader::registerAutoload();

新的:
require_once 'Zend/Loader/Autoloader.php';  
$loader = Zend_Loader_Autoloader::getInstance();  
$loader->registerNamespace('MySiteName_');
$loader->setFallbackAutoloader(true);

我需要自动加载的文件大多没有命名空间(因为它是一个来自预命名空间的大型项目)。它们位于以下目录中:
  • /应用程序/ Controller
  • /常见/模型
  • /图书馆
  • /供应商

  • 该站点似乎运行良好,除了找不到/library/Form.php
    以前可以,现在不行了。如果我添加一个 require_once 'library/Form.php',它会起作用,但这不是必需的,而且我担心如果我在某些地方开始这样做,我将需要放弃自动加载器和硬编码所有包括。我认为添加“setFallbackAutoloader(true)”,并在我的包含路径中添加“库”可以解决它,但它没有。

    我的包含路径是:
    .:/Users/lofye/Documents/htdocs/mysitename/vendor
    :/Users/lofye/Documents/htdocs/mysitename/common
    :/Users/lofye/Documents/htdocs/mysitename/common/models
    :/Users/lofye/Documents/htdocs/mysitename/library
    :/Users/lofye/Documents/htdocs/mysitename

    非常感谢任何帮助!

    最佳答案

    您的自动加载器只会尝试加载以 MySiteName_ 开头的类。 .尝试添加 Form作为命名空间也许?

    $loader->registerNamespace('Form');
    

    关于zend-framework - 新 Zend_Loader_Autoloader 找不到文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1871878/

    相关文章:

    生成图标的PHP代码

    c - Makefile 只包含 c 源项目中的头文件名?

    cmake - 针对非标准位置中的库编译 CMake 项目

    php - PHPUnit 代码覆盖率如何忽略我的自动加载器?

    php - Zend Framework 1.10 中自定义函数的放置位置

    php - 使用工厂时,zf2 新模块 Controller 解析为无效的 Controller 类或别名

    c++ - 如何使用带路径的包含文件在 Visual Studio 中构建?

    zend-framework - 如何在zend框架中使用phpexcel

    zend-framework - 在Zend Framework 1中记录错误的最佳方法是什么?