如何在不安装 Zend 框架的情况下使用 Zend 库

Posted

技术标签:

【中文标题】如何在不安装 Zend 框架的情况下使用 Zend 库【英文标题】:How to Use Zend Library without installation of Zend Framework 【发布时间】:2011-03-11 00:51:54 【问题描述】:

如何在不安装zend框架的情况下使用zend库?

我正在尝试在没有安装 zend 框架的情况下使用 zend 库(邮件和 Mime),它没有返回任何错误消息... 但对于我的项目,我只使用 Mail 和 Mime 库,如何在不安装 zend 框架的情况下使用 Zend 库..

谢谢, Vinoth S

【问题讨论】:

Zend Framework 不是一个整体。 (几乎?)他的每个类都可以独立使用。只需按照以下说明进行操作即可:) 【参考方案1】:

下载 Zend Framework 并将其放入 php 可访问的文件夹中。然后要么做

include '/path/to/folder/containing/Zend/lib/Zend/Mail.php';
include '/path/to/folder/containing/Zend/lib/Zend/Mime.php';

$mailer = new Zend_Mail;

或者 - 更好更方便 - setup your autoloader 和/或包含路径,以便 PHP 可以直接找到类,而无需包含它们。

另见

requirements appendix 获取 Zend 框架要求的详细列表。

【讨论】:

是的..谢谢戈登,我正在使用“set_include_path('lib'.PATH_SEPARATOR.get_include_path());”......它工作正常......【参考方案2】:

我不止一次将 zend 库集成到其他非 zend 项目中。 不建议仅包含某些库的 Autoloader,因为它涉及更差的性能(请参阅有关 |end_Loader 的 zend 参考)。 最好的方法(从清晰的代码和性能的角度来看)非常简单:

1) 设置包含路径:(有必要,否则您将遇到致命的包含错误):

set_include_path(implode(PATH_SEPARATOR, array(
    '/',
    get_include_path(),
)));

2) 遵循 Zend/ 结构,对您需要的库执行“require_once” 例如:

require_once "Zend/Mail.php"; 
//you can use now Zend_Mail* classes

注意1:您不必放置所有需要的类的“require_once”,主要包含的类已经做了依赖类的require_once。

【讨论】:

【参考方案3】:

注册自动加载器并像这样设置包含路径:

set_include_path(implode(PATH_SEPARATOR, array(
    realpath('./library'),//the path
    get_include_path(),
)));
require "Zend/Loader/Autoloader.php";
$autoloader = Zend_Loader_Autoloader::getInstance();

【讨论】:

以上是关于如何在不安装 Zend 框架的情况下使用 Zend 库的主要内容,如果未能解决你的问题,请参考以下文章

Zend 和 Jquery(Ajax 帖子)

使用 zend 框架安装和使用学说

2016/07/05 zend optimizer

zend 框架显示/处理表单使用相同的动作/视图?

如何使用 zend from 在 zend 框架 2 中添加自定义属性

如何使用 zend 框架创建站点地图?