2010-07-02 22 views
10

Jak korzystać z biblioteki zend bez korzystania z instalacji Zend Framework?Jak korzystać z biblioteki Zend bez instalacji Zend Framework

Próbuję użyć biblioteki zend (Mail i Mime) bez instalacji Zend Framework, nie zwracając żadnych komunikatów o błędach ... ale dla mojego projektu używam tylko biblioteki Mail i Mime, Jak korzystać z Zend Library bez instalacji Zend Framework ..

Dzięki VINOTH S

+0

Zend Framework nie jest monolitem. (Prawie?) Każda z jego klas może być używana samodzielnie. Wystarczy postępować zgodnie z instrukcjami poniżej :) –

Odpowiedz

6

Pobierz Zend Framework i umieścić go w folderze dostępnym przez PHP. Wtedy albo zrobić

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

$mailer = new Zend_Mail; 

lub - lepiej i więcej conventient - setup your autoloader i/lub zawierać ścieżkę tak PHP może znaleźć zajęcia bezpośrednio, bez konieczności ich zawierać.

zobaczyć również

+0

tak .. dzięki Gordon, używam "set_include_path (" lib ".PATH_SEPARATOR. Get_include_path());" ... Działa dobrze ... – VinothPHP

3

Zrobiłem to więcej niż raz, aby zintegrować zend libs w innych projektach innych niż Zend. Autoloader nie jest sugerowany do włączenia niektórych bibliotek, ponieważ wiąże się z gorszymi występami (patrz zend reference about | end_Loader). Najlepszym sposobem (zarówno kodu i przedstawienia jasnego punktu widzenia) jest bardzo prosta:

1) ustawić zawierać ścieżkę: (konieczny lub będziesz mieć fatalne błędy włączenia):

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

2) zrobić „require_once” biblioteki/y trzeba, zgodnie ze strukturą Zend/ np

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

Note1: nie trzeba umieścić „require_once” wszystkich potrzebnych klasach, głównym włączone klasy już wymagają wymagania od depen klasy dent.

7

zarejestrować autoloader i zestaw zawierać ścieżkę tak:

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