E-book details

Smarty. Szablony w aplikacjach PHP

Smarty. Szablony w aplikacjach PHP

H. Hayder, J. P. Maia, L. Gheorge

Ebook

Wykorzystaj nowoczesne narzędzia w swoich projektach internetowych

  • Projektuj własne szablony
  • Twórz aplikacje wielojęzyczne
  • Popraw wydajność witryn internetowych

Współczesne witryny WWW to nie tylko prezentacje podstawowych informacji o firmach. W sieci można znaleźć setki sklepów internetowych, portali informacyjnych i innych serwisów będących samodzielnymi przedsięwzięciami. Coraz częściej strony WWW wykorzystywane są również jako interfejs użytkownika dla aplikacji. Tak rozbudowane projekty internetowe są realizowane przez zespoły składające się z programistów odpowiedzialnych za "zaplecze" serwisu i projektantów, których zadaniem jest opracowanie wyglądu witryny. W takich przypadkach niezbędny jest mechanizm pozwalający na oddzielenie treści i logiki stron WWW od ich prezentacji. Do tego celu stosowane są narzędzia umożliwiające skonstruowanie warstwy prezentacyjnej serwisu WWW w oparciu o szablony. PHP, jeden z najpopularniejszych języków programowania wykorzystywany do tworzenia witryn i aplikacji internetowych, oferuje mechanizm szablonów noszący nazwę Smarty.

Książka "Smarty. Szablony w aplikacjach PHP" to kompletny przewodnik po tej technologii. Zawiera zasady działania szablonów Smarty oraz możliwości wykorzystania ich w projektach internetowych. Czytając ją, dowiesz się, jak zainstalować i skonfigurować Smarty, jak zbudowane są witryny oparte o ten system oraz jak kreować własne szablony. Poznasz oferowane przez Smarty funkcje, metody i modyfikatory, które będziesz mógł wykorzystać podczas budowy złożonych projektów. Przeczytasz o buforowaniu, poprawie wydajności aplikacji, rozszerzeniu możliwości Smarty za pomocą wtyczek i tworzeniu aplikacji wielojęzycznych.

  • Instalacja i konfiguracja systemu Smarty
  • Struktura witryny opartej na szablonach Smarty
  • Narzędzia do projektowania szablonów
  • Tworzenie prostych szablonów
  • Korzystanie z modyfikatorów w szablonach
  • Funkcje w szablonach
  • Wykrywanie i usuwanie błędów
  • Buforowanie stron i optymalizacja wydajności witryn
  • Rozbudowywanie Smarty za pomocą wtyczek

Poznaj sposoby tworzenia profesjonalnych aplikacji sieciowych.

O autorach (11)

O recenzencie (13)

Przedmowa (15)

Rozdział 1. Wprowadzenie do Smarty (19)

  • Systemy szablonów (19)
    • Po co stosuje się systemy szablonów? (20)
    • Inteligencja technologii Smarty (21)
    • Alternatywy dla technologii Smarty (22)
  • Krótki przewodnik po procesie projektowania oprogramowania (23)
    • Praca w zespole - warstwy i podział obszarów zainteresowań (24)
  • Smarty - podstawowy system obsługi szablonów dla języka PHP (26)
    • Czy aplikacje z szablonami Smarty są szybkie? (26)
    • Czy szablony Smarty są bezpieczne? (27)
  • Główne własności technologii Smarty (28)
    • Modyfikatory zmiennych (28)
    • Funkcje szablonów (29)
    • Debugowanie (29)
    • Wtyczki (29)
    • Filtry (30)
  • Wnętrze systemu Smarty (31)
  • Instalacja i konfiguracja systemu Smarty (32)
    • Krok 1. Zdobycie systemu Smarty (32)
    • Krok 2. Konfigurowanie PHP w sposób umożliwiający odnalezienie bibliotek Smarty (33)
    • Alternatywa kroku 2. Korzystanie z bibliotek Smarty w sytuacji, kiedy nie mamy pełnego dostępu do systemu (34)
    • Krok 3. Konfiguracja Smarty w aplikacji (35)
    • Krok 4. Sprawdzenie poprawności instalacji (35)
    • Wersja rozwojowa systemu Smarty w repozytorium CVS (35)
  • Aktualizacja witryny korzystającej z szablonów Smarty (37)
  • Podsumowanie (37)

Rozdział 2. Architektura witryn Smarty (39)

  • Rozdział pojęć (40)
    • Co to jest "pojęcie"? (40)
    • Perspektywa rozwiązywania problemu (41)
    • Pojęcia przecinające (41)
  • Osoby biorące udział w tworzeniu i utrzymywaniu witryny WWW (42)
  • Rozpoczęcie projektu Smarty (43)
    • Struktura katalogów (43)
    • Zabezpieczenia projektu Smarty (44)
    • Warstwa dostępu do danych (44)
    • Warstwa reguł biznesu (47)
    • Warstwa prezentacji (48)
    • Wynik (50)
  • Podsumowanie (52)

Smarty dla projektantów

Rozdział 3. Co projektanci wiedzieć powinni? (53)

  • Kłopoty programistów - częste scenariusze (53)
  • Role projektanta szablonu i programisty (54)
  • Definicje i pojęcia dla projektantów (55)
    • Pojęcie komponentów wielokrotnego użycia (57)
    • Podział na komponenty (59)
    • Jak tworzyć szablony pozbawione tabel? (61)
    • Podręczne, wbudowane znaczniki (64)
  • Wybór edytora dla projektowania szablonów (65)
  • Współpraca z innymi projektantami (66)
  • Podsumowanie (67)

Rozdział 4. Tworzenie szablonów (69)

  • Zagadnienia projektowe - od kodu HTML do TPL (69)
  • Wprowadzenie do zmiennych Smarty (73)
  • Przystępujemy do tworzenia szablonów (75)
    • Tablice nieasocjacyjne (75)
    • Tablice asocjacyjne (75)
    • Przekazywanie tablic do szablonów Smarty i wykonywanie na nich operacji (76)
  • Proste szablony (78)
    • Warunki logiczne (78)
    • Pętle (80)
  • Szablony w praktyce (84)
    • Kalendarz (84)
    • Raport z bazy danych (87)
    • Formularze do wprowadzania danych (91)
    • Biuletyn przesyłany pocztą elektroniczną (95)
    • Uruchamianie kodu PHP wewnątrz szablonów (98)
  • Podsumowanie (99)

Rozdział 5. Szablony zaawansowane (101)

  • Smarty od środka (101)
    • Etapy kompilacji (103)
    • Filtry wstępne i końcowe (104)
    • Czym są modyfikatory Smarty? (104)
  • Zaawansowane zastosowania technologii Smarty (104)
    • Arkusz ocen uczniów (104)
    • Galeria zdjęć (108)
  • Dostępne modyfikatory (111)
    • capitalize (111)
    • count_characters (111)
    • cat (112)
    • count_paragraphs (113)
    • count_sentences (113)
    • count_words (113)
    • date_format (114)
    • default (116)
    • escape (117)
    • indent (118)
    • lower (118)
    • upper (118)
    • nl2br (119)
    • regex_replace (120)
    • replace (120)
    • spacify (121)
    • string_format (121)
    • strip (122)
    • strip_tags (123)
    • truncate (123)
    • wordwrap (124)
  • Łączenie modyfikatorów (125)
  • Pliki konfiguracyjne (125)
  • Podsumowanie (127)

Rozdział 6. Funkcje Smarty (129)

  • Typy funkcji Smarty (129)
  • Funkcje w praktyce (130)
    • Operacja - wielokrotne wykorzystywanie elementów strony za pomocą funkcji include (132)
    • Objaśnienie (133)
  • Umieszczanie elementów dynamicznych (133)
  • Przekazywanie zmiennych do włączanych szablonów (135)
  • Zapisywanie zmiennych w plikach konfiguracyjnych (137)
  • Tworzenie sekcji pliku konfiguracyjnego dla każdej ze stron (138)
  • Obsługa list w szablonach (140)
  • Usuwanie nadmiarowych spacji z szablonów (143)
  • Obsługa kodu JavaScript w szablonach (144)
  • Przetwarzanie zagnieżdżonych tablic (146)
  • Cykliczne przetwarzanie listy wartości (150)
  • Przeciwdziałanie automatom spamowym indeksującym witryny WWW (151)
  • Funkcje obsługi formularzy (152)
  • Więcej funkcji obsługi formularzy (155)
  • Podsumowanie (157)

Rozdział 7. Debugowanie dla projektantów (159)

  • Debugowanie szablonów Smarty (159)
  • Błędy semantyczne (161)
  • Częste błędy w szablonach Smarty (163)
  • Inne często popełniane błędy w szablonach Smarty (170)
  • Konsola debugowania (171)
  • Podsumowanie (172)

Smarty dla programistów

Rozdział 8. Wbudowane zmienne i metody systemu Smarty (173)

  • Wbudowane zmienne systemu Smarty (175)
    • $template_dir (175)
    • $compile_dir (175)
    • $config_dir (175)
    • $plugins_dir (176)
    • $debugging (176)
    • $error_reporting (176)
    • $debug_tpl (176)
    • $debugging_ctrl (176)
    • $compile_check (177)
    • $force_compile (177)
    • $caching (177)
    • $cache_dir (177)
    • $cache_lifetime (178)
    • $cache_modified_check (178)
    • $php_handling (178)
    • $security (178)
    • $secure_dir (179)
    • $security_settings (179)
    • $trusted_dir (179)
    • $left_delimiter (180)
    • $right_delimiter (180)
    • $request_vars_order (180)
    • $request_use_auto_globals (180)
    • $compile_id (180)
    • $use_sub_dirs (180)
    • $default_modifiers (181)
    • $default_resource_type (181)
    • $cache_handler_func (181)
    • $autoload_filters (181)
    • $config_overwrite (181)
    • $config_booleanize (182)
    • $config_read_hidden (182)
    • $config_fix_newlines (182)
    • $default_template_handler_func (182)
    • $compiler_file (182)
    • $compiler_class (182)
    • $config_class (182)
  • Podręczna tabela wbudowanych zmiennych systemu Smarty (183)
  • Wbudowane metody Smarty (187)
    • assign (187)
    • assign_by_ref (187)
    • Przykład - działanie metod assign i assign_by_ref (188)
    • append (190)
    • append_by_ref (191)
    • clear_assign (191)
    • register_function (192)
    • unregister_function (192)
    • register_object (193)
    • unregister_object (193)
    • register_block (193)
    • unregister_block (194)
    • register_compiler_function (194)
    • unregister_compiler_function (195)
    • register_modifier (195)
    • unregister_modifier (195)
    • register_resource (195)
    • unregister_resource (196)
    • register_prefilter (196)
    • unregister_prefilter (196)
    • register_postfilter (197)
    • unregister_postfiIter (197)
    • register_outputfilter (197)
    • unregister_outputfilter (198)
    • load_filter (198)
    • clear_cache (198)
    • clear_all_cache (199)
    • is_cached (199)
    • clear_all_assign (199)
    • clear_compiled_tpl (199)
    • template_exists (200)
    • get_template_vars (200)
    • get_config_vars (200)
    • trigger_error (200)
    • display (201)
    • fetch (201)
    • config_load (201)
    • get_registered_object (201)
    • clear_config (202)
  • Podsumowanie (202)

Rozdział 9. Buforowanie i wydajność (203)

  • Buforowanie w systemie Smarty (204)
  • Dynamiczne buforowanie części szablonów (206)
  • Czyszczenie bufora (206)
  • Zaawansowane możliwości buforowania (208)
  • Zastosowanie grup buforów (209)
  • Czyszczenie grup buforów (209)
  • Blokowanie buforowania (210)
  • Tworzenie własnej procedury obsługi buforowania (214)
  • Optymalizacja aplikacji Smarty (220)
  • Profilowanie kodu PHP (221)
  • Projektowanie witryn zapewniających skuteczne buforowanie (222)
    • Nagłówki Last-Modified i ETag (223)
    • Nagłówek Expires (225)
    • Nagłówek Cache-Control (225)
  • Narzędzie - ApacheBench (ab) (226)
  • Narzędzie - Xdebug (227)
  • Narzędzie - WinCacheGrind (228)
  • Podsumowanie (229)

Rozdział 10. Rozszerzanie systemu Smarty za pomocą wtyczek (231)

  • Wyszukiwanie i instalacja wtyczek (232)
  • Przydatne wtyczki (232)
    • Listy HTML (232)
    • Formatowanie rozmiaru pliku (234)
    • Podświetlanie słów kluczowych w stylu Google (236)
  • Pisanie własnych wtyczek (239)
  • Typy wtyczek (240)
    • Funkcje (240)
    • Modyfikatory (241)
    • Funkcje blokowe (241)
    • Funkcje kompilatora (241)
    • Filtry wstępne, końcowe i wynikowe (241)
    • Zasoby (241)
    • Wstawki (242)
  • Rejestracja wtyczek (243)
  • Przykładowa wtyczka - kalendarz (245)
  • Przykładowa wtyczka - automatyczne łącza (248)
  • Podsumowanie (250)

Rozdział 11. Filtry (251)

  • Filtry wstępne (251)
  • Filtry końcowe (252)
  • Filtry wynikowe (252)
  • Tworzenie filtrów (252)
  • Rejestracja filtru w fazie wykonywania aplikacji (253)
  • Ręczne załadowanie filtra (254)
  • Automatyczne ładowanie filtrów (255)
  • Filtr #1 - usuwanie komentarzy HTML (256)
  • Filtr #2 - mierzenie wydajności aplikacji (259)
  • Filtr #3 - kompresja wyniku za pomocą gzip (262)
  • Filtr #4 - wyróżnianie wyszukiwanych słów kluczowych (263)
  • Podsumowanie (266)

Rozdział 12. Tworzenie aplikacji wielojęzycznych (267)

  • Infrastruktura tłumaczenia - Gettext (268)
  • Konfiguracja rozszerzenia Gettext w PHP (268)
  • Prosty przykład w PHP (269)
  • Konfiguracja plików Gettext (270)
  • Zastosowanie rozszerzenia Gettext wraz z systemem Smarty (273)
  • Generowanie plików PO (276)
  • Zaawansowane własności pakietu Smarty Gettext (280)
  • Podsumowanie (282)

Skorowidz (283)

  • Title: Smarty. Szablony w aplikacjach PHP
  • Author: H. Hayder, J. P. Maia, L. Gheorge
  • Original title: Smarty PHP Template Programming and Applications
  • Translation: Radosław Meryk (rozdz. 1, 2, 4-11), Robert Polański (rozdz. 3)
  • ISBN: 978-83-246-4735-4, 9788324647354
  • Date of issue: 2011-12-27
  • Format: Ebook
  • Item ID: smarty
  • Publisher: Helion