【问题标题】:Zend Framework/Existing ProjectZend 框架/现有项目
【发布时间】:2015-09-07 08:36:40
【问题描述】:

我想在现有项目中使用 Zend Framework。我已经有一个自动加载功能,我也不想使用 MVC,只是 Zend 的一些组件。

如何将组件(例如 Mail 组件)包含到现有项目中?

【问题讨论】:

    标签: php zend-framework


    【解决方案1】:

    如果我没记错的话,所有 Zend 组件都使用 require_once 声明它们需要的类,而不使用自动加载。

    所以我认为你可以尝试像这样包含 Zend 库:

    // Ensure library/ is on include_path
    set_include_path(
        implode(
            PATH_SEPARATOR,
            array(
                realpath(APPLICATION_PATH . '/../library'),
                get_include_path()
            )
        )
    );
    

    (当然,您必须更改realpath(APPLICATION_PATH . '/../library'以匹配您的项目)

    然后像这样调用你的组件:

    require_once 'Zend/Mail.php';
    $mail = new Zend_Mail();
    

    希望对你有帮助 :)

    【讨论】:

      【解决方案2】:

      此时您可能应该使用 Zend Framework 2 而不是 Zend Framework 1。在这种情况下,您可以使用 Composer 从 ZF2 加载单个组件。 Composer 包含自己非常好的自动加载器,您可以针对自己的站点对其进行训练,但您也可以忽略并尝试使用当前的自动加载器。

      例如,可以使用(从命令行)包含 Mail 包

      > composer require zendframework/zend-mail
      

      然后(如果您确实使用 Composer 自动加载器),您可以开始在您的应用中使用 Zend\Mail

      您应该认真考虑使用 Composer 的自动加载器的原因是 Zend 组件依赖于其他 Zend 组件,并且手动管理这些组件是一件很痛苦的事情**。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-08-04
        • 2013-07-10
        • 1970-01-01
        • 1970-01-01
        • 2014-09-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多