【问题标题】:Zend Framework 1.11: how to autoload a class that uses namespacesZend Framework 1.11:如何自动加载使用命名空间的类
【发布时间】:2013-06-11 20:34:35
【问题描述】:

我有一个 Zend Framework 1.11 应用程序,我想使用一个名为 RandomLib 的包。问题是,它没有自动加载器,我已经尝试阅读 Zend 文档中关于使用自动加载器的内容,但我无法理解它。

我已将 RandomLib 文件夹放在我的库目录中。我的 Bootstrap.php 文件中需要什么样的代码来自动加载类?

【问题讨论】:

    标签: zend-framework namespaces autoload


    【解决方案1】:

    如果您希望在将库移动到“library/MyExternalLib”后直接在 Bootstrap.php 文件中包含命名空间库

    protected function _initAutoLoader()
    {
        $loader = Zend_Loader_Autoloader::getInstance();
        $loader->registerNamespace('MyExternalLib');
        return $loader;
    }
    

    【讨论】:

      【解决方案2】:

      从 1.10.0 版开始,Zend Framework 现在允许从 PHP 命名空间加载类。此支持遵循与 » PHP Framework Interop Group PSR-0 参考实现中相同的指南和实现。 Source

      1. RandomLib/lib的内容放到library/RandomLib
      2. application.ini 添加autoloaderNamespaces[] = "RandomLib"

      【讨论】:

        猜你喜欢
        • 2012-06-07
        • 1970-01-01
        • 2012-06-19
        • 1970-01-01
        • 1970-01-01
        • 2017-11-03
        • 2021-06-29
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多