问题 如何在不安装Zend Framework的情况下使用Zend Library


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

我试图使用zend库(Mail和Mime)没有zend框架安装,它没有返回任何错误消息...        但对于我的项目我只使用Mail和Mime库,如何使用Zend Library而不安装zend框架..

谢谢, Vinoth S.


8753
2017-07-02 10:05


起源

Zend Framework不是一个整体。 (几乎?)他的每个班级都可以独立使用。只需按照以下说明:) - Tomasz Struczyński


答案:


下载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;

或者 - 更好,更有条理 - 设置自动加载器 和/或包含路径,以便PHP可以直接找到类,而不必包含它们。

另见

  • 要求附录 有关Zend Framework的详细要求列表。

6
2017-07-02 10:17



是的..感谢gordon,我正在使用“set_include_path('lib'。PATH_SEPARATOR.get_include_path());”......工作正常...... - VinothPHP


注册自动加载器并设置包含路径,如下所示:

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

7
2017-10-03 16:02





我已经不止一次地将zend libs集成到其他非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
2017-09-29 14:29