2010-07-02 3 views
10

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

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

Спасибо, Vinoth S

+0

Zend Framework не монолит. (Почти?) Каждый из его классов может использоваться независимо. Просто следуйте приведенным ниже инструкциям :) –

ответ

6

Скачать 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; 

Или - лучше и больше conventient - setup your autoloader и/или включать в себя путь, чтобы PHP можно найти классы напрямую, без необходимости включать их.

Также см

+0

yeah .. thanks gordon, я использую «set_include_path ('lib' .PATH_SEPARATOR. Get_include_path());" ... его работающий ... – VinothPHP

3

Я делал это несколько раз, чтобы интегрировать 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 of depen вмятины.

7

Регистрация автозагрузчика и комплект включает путь:

set_include_path(implode(PATH_SEPARATOR, array(
    realpath('./library'),//the path 
    get_include_path(), 
))); 
require "Zend/Loader/Autoloader.php"; 
$autoloader = Zend_Loader_Autoloader::getInstance(); 
Смежные вопросы