如何在不安装 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 库的主要内容,如果未能解决你的问题,请参考以下文章