![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 1 233 Pomógł: 87 Dołączył: 6.03.2009 Ostrzeżenie: (40%) ![]() ![]() |
Witam
Często staję przed problemem, użyć biblioteki wbudowanej w PHP (lub dostępnej jako rozszerzenie, które na 99,9% powinno być włączone), czy skorzystać z zewnętrznej bibliteki PEAR? Jeśli ktoś nie rozumie o co mi chodzi, to posłuże się przykładem. Niechaj takim przykładem będzie protokół XML-RPC. Długo się broniłem, no ale nadszedł dzień kiedy dopadł mnie standard - teraz musze jako klient połączyć się z serwerem gadającym w XMLRPC. :-( Pierwsza czynność: Sprawdzam czy php obsługuje to z urzędu, okazuje się że nie do końca, Kod XML-RPC support in PHP is not enabled by default. You will need to use the --with-xmlrpc[=DIR] configuration option when compiling PHP to enable XML-RPC support. This extension is bundled into PHP as of 4.1.0. "not enabled by default", to podnosi mój wewnętrzny alert i naturalnie rodzi pytanie: Czy mój skrypt zadziała zawsze i wszędzie? Odpowiedź brzmi: Tak, zasze... aż do chwili kiedy jednak nie zadziała, bo szalony na punkcie optymalizacji administrator postanowił poskąpić przy kompilacji (IMG:style_emoticons/default/smile.gif) Najlepszym rywalem jest oczywiście jedna z biblitek PEAR. Jest kilka wersji, starsza zadowoli się praktycznie gołym PHP4 - To Lubie! Jestem ciekaw jak Wy zapatrujecie się na poruszoną tematykę. |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 2 885 Pomógł: 463 Dołączył: 3.10.2009 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Sprawdzić status rozszerzenia w bieżącej konfiguracji phpa nietrudno (extension_loaded), podobnie obecność klasy (class_exists). To, którą bibliotekę wybierzesz i oprzesz na niej swoje rozwiązanie zależy głównie od Ciebie i tego, w której konkretnie bibliotece (rozszerzeniu) najlepiej Ci się pisze kod. W idealnej sytuacji, aby zwiększyć krąg odbiorców można pokusić się o zaimplementowanie obsługi wszystkich popularnych rozszerzeń, jednak w praktyce nie stosuje się tego z oczywistych względów (masa nadmiernego kodu). Akurat w przypadku Xml-Rpc problem polega na tym, iż rozszerzenie opisane w dokumentacji jest eksperymentalne ze wszystkimi skutkami, jakie z tego wynikają, stąd polecałbym jednak użyć pear-owego XML-RPC2. Dodatkowo, z tego, co się orientuję rozwiązanie z peara oferuje buforowanie wyników, co przyspiesza cykl żądanie - odpowiedź. Możesz też wykorzystać gotowe komponenty z jakiegoś frameworka np. Zend lub Symfony.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 233 Pomógł: 87 Dołączył: 6.03.2009 Ostrzeżenie: (40%) ![]() ![]() |
Sprawdzić status rozszerzenia w bieżącej konfiguracji phpa nietrudno (extension_loaded), podobnie obecność klasy (class_exists). To oczywiste. Nie można jednak tego sprawdzić względem każdej konfiguracji na której kod będzie w przyszłości uruchamiany - tutaj leży problem. To, którą bibliotekę wybierzesz i oprzesz na niej swoje rozwiązanie zależy głównie od Ciebie i tego, w której konkretnie bibliotece (rozszerzeniu) najlepiej Ci się pisze kod. Wygodnictwo nie ma dla mnie najmniejszego znaczenia. Moje cele to kolejno: - niezawodność - przenośność - wydajność Możesz też wykorzystać gotowe komponenty z jakiegoś frameworka np. Zend lub Symfony. PEAR vs Zend/Symfony Dla mnie odpowiedź jest prosta, a zwycięzca jeden.. PEAR 4 Eva Ten post edytował wNogachSpisz 7.05.2011, 12:47:02 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 2 885 Pomógł: 463 Dołączył: 3.10.2009 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 14:40 |