Как использовать Zend Library без установки Zend Framework - PullRequest
11 голосов
/ 02 июля 2010

Как использовать библиотеку Zend без установки Zend Framework?

Я пытаюсь использовать библиотеку Zend (Mail и Mime) без установки Zend Framework, она не возвращает никаких сообщений об ошибках ... но для моего проектаЯ использую только библиотеку Mail и Mime. Как использовать Zend Library без установки Zend Framework.

Спасибо, Vinoth S

Ответы [ 3 ]

7 голосов
/ 03 октября 2011

Зарегистрируйте автозагрузчик и установите путь включения следующим образом:

set_include_path(implode(PATH_SEPARATOR, array(
    realpath('./library'),//the path
    get_include_path(),
)));
require "Zend/Loader/Autoloader.php";
$autoloader = Zend_Loader_Autoloader::getInstance();
6 голосов
/ 02 июля 2010

Загрузите 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 мог находить классы напрямую, без необходимости их включения.

Также см.

3 голосов
/ 29 сентября 2010

Я делал это не раз, чтобы интегрировать Zend Libs в другие не-Zend проекты. Автозагрузчик не рекомендуется только для включения некоторых библиотек, так как это приводит к ухудшению производительности (для этого см. Ссылку на Zend о | end_Loader). Лучший способ (как с точки зрения кода, так и с точки зрения производительности) очень прост:

1) установите путь включения: (необходимо или у вас будут фатальные ошибки включения):

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

2) сделать "require_once" из библиотеки / библиотек, которая вам нужна, следуя структуре Zend / например:

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

note1: вам не нужно помещать «require_once» из всех необходимых классов, основной включенный класс уже делает require_once зависимых классов.

...