【问题标题】:Using Zend framework components in not ZF based projects在不基于 ZF 的项目中使用 Zend 框架组件
【发布时间】:2009-11-02 19:59:01
【问题描述】:

我现在正在开发一个不基于 Zend Framework 的项目,但是我想在其中使用 Zend 的一些组件,即 Zend_Form 和 Zend_Acl。

问题是,我应该怎么做才能让这些组件在实例化时知道如何正确加载它们的类。

我想应该使用 spl_register_autoload 和 set_include_path ,只是不知道具体如何。


谢谢大家,

Zend_Loader_Autoloader::getInstance() 加上在 set_include_path 中设置正确的初始路径就可以了。

【问题讨论】:

  • 你可以只添加 /Zend 目录的父目录以包含路径,然后 require_once 他们或 require_once Zend_Loader_Autloader 并使用 loadClass($class)...

标签: php zend-framework


【解决方案1】:

如果您只想使用两个 Zend Framework 组件,您可以手动包含它们。 当我需要一些 Zend Framework 组件时,我通常会加载 via 自动加载器。

您可以找到一些关于如何在 SO 上使用 Zend Framework 自动加载器的问题和答案,例如 this

【讨论】:

    【解决方案2】:

    如果你不想使用 Zend_Load_Autoloader::getInstance() 让 Zend 用 spl_register_autoload() 注册它的自动加载器,你只需要将包含 Zend 文件夹的文件夹放在你的文件夹中。

    例如,如果您的 Zend 组件位于“library/Zend”中,则必须将“libray”放在路径上,而不是 Zend。然后你可以包含像“Zend/Validate/Interface.php”这样的文件,因为它们在你的路径上。

    【讨论】:

      【解决方案3】:

      如果我理解正确,您想在多个项目中使用 Zend Framework 的一份副本。为此,只需在 application/configs/application.ini 文件中编辑 includePaths.library。

      【讨论】:

        猜你喜欢
        • 2011-11-17
        • 1970-01-01
        • 2017-02-10
        • 1970-01-01
        • 1970-01-01
        • 2013-07-10
        • 2011-04-16
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多