Przykłady zewnętrznych bibliotek do PHP Laboratorium z Baz Danych Łukasz Zubkowicz
Czym jest szablon? ➲ jest to wzór rozwiązania ➲ jasno wyznacza cel ➲ przeznaczony jest do wielokrotnego wykorzystywania ➲ zazwyczaj jest łatwy w modyfikacji
Co daje wykorzystywanie szablonów programistom PHP? ➲ pozwala oddzielić prezentację (układ, treść, wygląd) od logiki aplikacji ➲ ułatwia panowanie nad kodem ➲ przyspiesza powstawanie aplikacji ➲ zmniejsza jej docelowy rozmiar
Smarty – praktyczna realizacja idei szablonów ➲ ➲ obiektowa biblioteka napisana w PHP ➲ wydana na licencji LGPL (darmowa, dająca dosyć dużo swobody w użytkowaniu) ➲ posiada dużo większe możliwości niż tylko obsługa szablonów
Dlaczego Smarty? ➲ implementacja jest bardzo szybka (cache, kompilacja szablonu) ➲ posiada użyteczną funkcjonalność (np. modyfikatory zmiennych, funkcje szablonowe, instrukcje sterujące) ➲ łatwo się ją rozszerza (plug-iny) ➲ obsługuje błędy w szablonach ➲ posiada wewnętrzny debugger
Schemat działania Aplikacja SzablonSmarty Wynik
Używanie Smarty ➲ dołączamy bibliotekę za pomocą instrukcji require_once() ➲ wykonujemy operacje będące celem działania aplikacji ➲ tworzymy obiekt klasy Smarty ➲ podajemy mu ścieżki do katalogów z szablonami, config'ami i cache ➲ wiążemy z nim obliczone zmienne ➲ prosimy obiekt o wyświetlenie wyniku
Przykład użycia
Modyfikatory zmiennych ➲ pozwalają formatować zawartość wypisywanych zmiennych ➲ pełnią wiele użytecznych funkcji typowych dla prezentacji danych ➲ niektóre dają dostęp do informacji nie przekazanych obiektowi (np. do daty) ➲ można je ze sobą łączyć ➲ do bogatego zbioru modyfikatorów bardzo łatwo dodać swój (przez system plug-in'ów)
Przykład użycia
Funkcje szablonowe ➲ dzielimy je na wyświetlające jakąś treść i wykonujące pewne działania ➲ skracają czas poświęcany na powtarzanie czynności ➲ zwiększają czytelność, np. przez podział szablonu na części i dołączanie ich do głównego wzorca funkcją {include file=”...”}
Przykład użycia
Instrukcje sterujące ➲ stosowane w celu „inteligentnego” kształtowania prezentacji ➲ nie powinny być nadużywane (np. przez przenoszenie do szablonów części logiki aplikacji) ➲ najczęściej używane to pętla {section}, {foreach} oraz instrukcja warunkowa {if...}...{elsif...}...{else}...{/fi}
Przykład użycia
Cache ➲ jego użycie wymaga pojęcia świadomych działań ➲ po włączeniu wynik przetworzenia szablonu jest zapisywany do pliku ➲ sami decydujemy czy użyć zapisanej wersji, czy parsować dane ➲ możliwe jest trzymanie kilku wersji przetworzonego szablonu
Przykład użycia
Plug-in'y ➲ rozszerzają bibliotekę, aby potrafiła sprostać specyficznym wymaganiom ➲ są to po prostu skrypty PHP, które zachowują pewne konwencje nazw funkcji, plików itp. ➲ ładowanie odbywa się automatycznie (on-demand) z katalogu plugins/ ➲ w razie braku wtyczki biblioteka zgłasza błąd
Przykład użycia
Co dalej? ➲ dokumentacja biblioteki i opis jej instalacji są dostępne na stronie ➲ istnieje w sieci wiele tutoriali wprowadzających do Smarty ➲ wydano już (także w Polsce) parę pozycji książkowych traktujących o używaniu biblioteki Smarty
PEAR – PHP Extension and Application Repository ➲ ➲ jest to sieciowe repozytorium kodu i rozszerzeń do PHP ➲ zawiera setki pakietów podzielonych na kategorie, zawierających skrypty i komponenty których ciągle się używa ➲ skupia wokół siebie społeczność propagującą innowacyjność i dobry styl kodowania w PHP
Niektóre użyteczne pakiety ➲ HTML_AJAX – wspomaga nie tylko od strony PHP, ale także JavaScript ➲ Mail – m.in. interfejs do funkcji mail(), demona sendmail, protokołu SMTP ➲ I18N, I18Nv2 – pakiety te są pomocne przy internacjonalizacji serwisu ➲ File – ułatwia dostęp do plików, wspomaga odczytywanie z plików CSV ➲ Image_3D – pozwala tworzyć grafikę trójwymiarową w PHP (!)
Jak zainstalować pakiet? ➲ z nowszymi wersjami PHP dostarczany jest obsługiwany z wiersza poleceń menedżer pakietów ➲ przykłady jego użycia i lista obecnie dostępnych pakietów dostępne są na stronach społeczności PEAR
Źródła: ➲ ➲ przykłady do biblioteki Smarty zostały zaczerpnięte z Crash Course i dokumentacji, które znajdują się na w.w. stronie ➲