Włodzimierz Gajda php, ebooki
[ Pobierz całość w formacie PDF ]
6 PHP, MySQL i MVC. Tworzenie witryn WWW opartych na bazie danych Rozdzia 6. Translacja adresów URL ................................................................. 71 Projekt 6.1. Koldy ......................................................................................................... 73 Analiza rónych rodzajów adresów URL ....................................................................... 77 Dwukierunkowo konwersji adresów ........................................................................... 78 Konwersje adresów w generowanych stronach WWW .................................................. 79 Wczanie i wyczanie translacji wyjciowych ............................................................. 80 Konwersja adresów URL przy uyciu funkcji pomocniczych ........................................ 81 Implementacja funkcji pomocniczych w postaci wtyczek Smarty .................................. 82 Kilka zmiennych w adresach URL ................................................................................. 83 Projekt 6.2. Ligi pikarskie ............................................................................................. 84 Zmienne $path_prefix oraz ###PATH_PREFIX### ................................................ 92 Rozdzia 7. Bazy danych ................................................................................... 95 Wizualne projektowanie bazy danych ............................................................................ 95 Oprogramowanie ORM .................................................................................................. 99 Konwersja pliku .mwb do formatu Propel XML .......................................................... 100 Konwersja pliku .mwb do formatu Doctrine YML ....................................................... 101 db-frame-tool ................................................................................................................ 101 Propel — generowanie klas dostpu do bazy ............................................................... 102 ORM Propel — pierwsze kroki .................................................................................... 104 Zestawienie wygenerowanych klas oraz najwaniejszych metod ........................... 104 Podstawy uycia klas wygenerowanych przez Propel ............................................ 105 Doctrine — generowanie klas dostpu do bazy ............................................................ 106 ORM Doctrine — pierwsze kroki ................................................................................. 107 Zestawienie wygenerowanych klas oraz najwaniejszych metod ........................... 107 Podstawy uycia klas wygenerowanych przez Doctrine ........................................ 108 Projekt 7.1. Tatry (szablony PHP, Propel) .................................................................... 109 Krok pierwszy: projekt bazy danych ...................................................................... 110 Krok drugi: generowanie klas dostpu do bazy danych ......................................... 110 Krok trzeci: tworzenie pustej bazy danych ............................................................. 110 Krok czwarty: wypenianie bazy danych na podstawie pliku tekstowego .............. 110 Krok pity: zrzut wypenionej bazy danych ........................................................... 113 Krok szósty: aplikacja prezentujca zawarto bazy danych .................................. 114 Projekt 7.2. Tatry (szablony PHP, Doctrine) ................................................................ 116 Krok pierwszy: projekt bazy danych ...................................................................... 116 Krok drugi: generowanie klas dostpu do bazy danych ......................................... 116 Krok trzeci: tworzenie pustej bazy danych ............................................................. 117 Krok czwarty: wypenianie bazy danych na podstawie pliku tekstowego .............. 117 Krok pity: zrzut wypenionej bazy danych ........................................................... 118 Krok szósty: aplikacja prezentujca zawarto bazy danych .................................. 118 Projekt 7.3. Tatry (szablony Smarty, Propel) ................................................................ 119 Projekt 7.4. Tatry (szablony Smarty, Doctrine) ............................................................ 120 Rozdzia 8. Czego powiniene nauczy si z czci pierwszej? ........................ 123 Cz II Operowanie klasami wygenerowanymi przez Propel oraz Doctrine .............................................................. 129 Rozdzia 9. Wybieranie wszystkich rekordów z tabeli w zadanym porzdku ....... 131 Propel — sortowanie rekordów .................................................................................... 132 Doctrine — sortowanie rekordów ................................................................................. 134 Projekt 9.1. Sownik (Propel, PHP) .............................................................................. 134 Krok pierwszy: projekt bazy danych ...................................................................... 135 Krok drugi: generowanie klas dostpu do bazy danych .............................................. 135 Spis treci 7 Krok trzeci: tworzenie pustej bazy danych ............................................................. 137 Krok czwarty: wypenianie bazy danych na podstawie pliku tekstowego .............. 137 Krok pity: zrzut wypenionej bazy danych ........................................................... 138 Krok szósty: aplikacja prezentujca zawarto bazy danych .................................. 138 Projekt 9.2. Sownik (Doctrine, PHP) ........................................................................... 141 Krok pierwszy: projekt bazy danych ...................................................................... 141 Krok drugi: generowanie klas dostpu do bazy danych .............................................. 141 Krok trzeci: tworzenie pustej bazy danych ............................................................. 142 Krok czwarty: wypenianie bazy danych na podstawie pliku tekstowego .............. 142 Krok pity: zrzut wypenionej bazy danych ........................................................... 142 Krok szósty: aplikacja prezentujca zawarto bazy danych .................................. 143 Rozdzia 10. Wybieranie pojedynczego rekordu ................................................. 145 Propel ........................................................................................................................... 145 Doctrine ........................................................................................................................ 147 Projekt 10.1. Treny (Propel, PHP) ................................................................................ 147 Identyfikacja trenu wewntrz akcji tren/show ........................................................ 151 Projekt 10.2. Treny (Doctrine, PHP) ............................................................................. 153 Rozdzia 11. Relacje 1:n .................................................................................. 157 Metody generowane przez Propel dla relacji 1:n .......................................................... 158 Doctrine i relacje 1:n .................................................................................................... 160 Projekt 11.1. Kontynenty, pastwa, miasta (Propel, PHP) ........................................... 162 Przygotowanie bazy danych ................................................................................... 163 Aplikacja ................................................................................................................ 167 Projekt 11.2. Kontynenty, pastwa, miasta (Doctrine, PHP) ........................................ 173 Rozszerzanie waciwoci klas generowanych przez Doctrine .............................. 174 Wstawianie rekordów ............................................................................................. 176 Aplikacja ................................................................................................................ 178 Rozdzia 12. Relacje n:m ................................................................................. 181 Metody generowane przez Propel dla relacji n:m ......................................................... 182 Doctrine i relacje n:m ................................................................................................... 183 Projekt 12.1. Filmy (Propel, PHP) ................................................................................ 184 Przygotowanie bazy danych ................................................................................... 184 Aplikacja ................................................................................................................ 187 Projekt 12.2. Filmy (Doctrine, PHP) ............................................................................ 189 Propel. Sortowanie rekordów stojcych w relacji n:m .................................................. 192 Projekt 12.3. Filmy (Propel, PHP, sortowanie) ............................................................. 192 Doctrine. Sortowanie rekordów stojcych w relacji n:m .............................................. 193 Projekt 12.4. Filmy (Doctrine, PHP, sortowanie) ......................................................... 194 Rozdzia 13. Zagadnienia dodatkowe dotyczce warstw M oraz V ....................... 197 Czyszczenie zawartoci bazy danych ........................................................................... 197 Konwersja obiektu w napis ........................................................................................... 198 Konwersje toArray(), fromArray() ............................................................................... 198 Warunkowe wstawianie nieistniejcych obiektów ....................................................... 200 Wielokrotne wykorzystanie widoku ............................................................................. 201 Projekt 13.1. Aparaty foto (Propel, PHP) ..................................................................... 202 Warstwa M ............................................................................................................. 202 Wypenianie bazy danych ...................................................................................... 205 Aplikacja ................................................................................................................ 206 Projekt 13.2. Aparaty foto (Doctrine, PHP) .................................................................. 208 Rozszerzanie funkcjonalnoci klas wygenerowanych przez Doctrine .................... 209 Wstawianie rekordów do bazy danych ................................................................... 211 Aplikacja ................................................................................................................ 212 8 PHP, MySQL i MVC. Tworzenie witryn WWW opartych na bazie danych Rozdzia 14. Zapisywanie w bazie danych obrazów i plików binarnych ............... 215 Zapisywanie w bazie danych zdj JPG ....................................................................... 215 Prezentowanie zdj JPG zapisanych w bazie danych na stronie WWW ..................... 216 Zapisywanie w bazie danych dowolnych plików binarnych ......................................... 218 Wysyanie danych binarnych z bazy do przegldarki ................................................... 220 Projekt 14.1. NotH (Propel, PHP) ................................................................................. 221 Skrypt wstaw.php ................................................................................................... 223 Aplikacja ................................................................................................................ 224 Tytuy stron ............................................................................................................ 225 Rozwijane menu pionowe ...................................................................................... 226 Wartoci atrybutów href oraz src w tekstach zapisanych w bazie danych .............. 227 Projekt 14.2. NotH (Doctrine, PHP) ............................................................................. 229 Skrypt wstaw.php ................................................................................................... 230 Aplikacja ................................................................................................................ 230 Rozdzia 15. Akcje list i show, czyli publikowanie zawartoci bazy danych w postaci witryny WWW ............................................................... 233 Projekt 15.1. Czcionki projektów CSS Zen Garden (Propel, PHP) .............................. 234 Aplikacja ................................................................................................................ 235 Menu gówne witryny oraz tytuy podstron ............................................................ 240 Rozdzia 16. Czego powiniene nauczy si z czci drugiej? ............................ 243 Cz III Zwikszanie funkcjonalnoci interfejsu aplikacji internetowej ................................................. 245 Rozdzia 17. Kontekstowe hipercza do stron ze szczegóowymi informacjami .. 247 Projekt 17.1. Angae (szablony PHP, Propel) .............................................................. 248 Unikatowo kolumny slug .................................................................................... 248 Pliki tekstowe o bardziej zoonej strukturze ......................................................... 250 Rozszerzenia warstwy M ........................................................................................ 251 Filtry konwertujce generowany kod HTML ......................................................... 260 Aplikacja ................................................................................................................ 261 Hipercza kontekstowe ......................................................................................... 263 Menu kontekstowe ................................................................................................. 264 Rozdzia 18. Nastpny, poprzedni, czyli przewijanie zawartoci witryny WWW .... 267 Projekt 18.1. PHP. Praktyczne projekty ........................................................................ 269 Ograniczenia kluczy obcych ................................................................................... 270 Wstpne opracowanie aplikacji .............................................................................. 271 Implementacja hiperczy nastpny/poprzedni ....................................................... 276 Hipercza link zawarte w nagówku strony WWW ............................................... 285 Rozdzia 19. Wskanik pooenia ...................................................................... 287 Projekt 19.1. Kolekcja pyt DVD z fotografiami .......................................................... 288 Rozszerzanie klas dostpu do bazy danych ............................................................ 291 Wypenianie bazy danych rekordami ..................................................................... 295 Aplikacja ................................................................................................................ 302 Translacje adresów stosujcych cztery zmienne URL ............................................ 304 Tabela zdj wykonana bez uycia tabel HTML .................................................... 305 Wskaniki nastpny/poprzedni do przewijania zdj i kategorii ............................ 306 Efekt rollover ze wskanikiem wybranej opcji ....................................................... 307 Fotografie podajce za wskanikiem myszki ...................................................... 307 Wskanik breadcrumbs .......................................................................................... 310 Spis treci 9 Rozdzia 20. Sortowanie tabel .......................................................................... 311 Projekt 20.1. Pika nona — sezon 2002/2003 ............................................................. 312 Wielokrotne klucze obce z tej samej tabeli ............................................................ 314 Sortowanie zcze dla wielokrotnych kluczy ........................................................ 314 Wypenianie bazy danych ...................................................................................... 317 Zarys aplikacji ........................................................................................................ 320 Implementacja sortowalnych tabelek HTML ......................................................... 320 Rozdzia 21. Stronicowanie .............................................................................. 331 Projekt 21.1. 33 ........................................................................................................ 332 Automatyczne generowanie identyfikatorów slug dla rekordów o zdublowanych tytuach ..................................................................................... 333 Klasa Pager ............................................................................................................. 335 Widok wskanika stronicowania ............................................................................ 343 Prezentacja rekordów poddanych stronicowaniu .................................................... 345 Kontekstowe stronicowanie rekordów ................................................................... 348 Rozdzia 22. Alfabet ......................................................................................... 351 Projekt 22.1. Imiona ..................................................................................................... 351 Wybieranie alfabetu liter ........................................................................................ 352 Komponent wywietlajcy alfabet ................................................................................ 353 Prezentacja liter rozpoczynajcych si od wybranej litery na stronie WWW ......... 354 Umieszczanie kontrolki z list liter w szablonie layout.html ................................. 355 Rozdzia 23. Chmura tagów ............................................................................. 357 Projekt 23.1. Katalog Open Clipart .............................................................................. 358 Wypenianie bazy danych ...................................................................................... 360 Waga sów kluczowych .......................................................................................... 363 Aplikacja ................................................................................................................ 365 Rozdzia 24. Spis treci ................................................................................... 371 Projekt 24.1. Artykuy .................................................................................................. 372 Wypenianie bazy danych rekordami ..................................................................... 373 Funkcje odpowiedzialne za odczytywanie i usuwanie fragmentów kodu HTML ..... 376 Funkcje odpowiedzialne za tworzenie spisu treci ................................................. 378 Kolorowanie skadni .............................................................................................. 380 Aplikacja ................................................................................................................ 381 Rozdzia 25. Czego powiniene nauczy si z czci trzeciej? ........................... 383 Cz IV Formaty danych ......................................................... 385 Rozdzia 26. Podstawy przetwarzania dokumentów XML w PHP ........................ 387 Klasa SimpleXML ........................................................................................................ 387 Tworzenie obiektu SimpleXMLElement ................................................................ 388 Dostp do wzów drzewa ...................................................................................... 389 Lista identycznych elementów ............................................................................... 390 Dostp do atrybutów .............................................................................................. 391 Przetwarzanie wszystkich elementów i ich atrybutów ........................................... 391 Wielokrotne zagniedenia .................................................................................... 392 Jzyk XPath ............................................................................................................ 395 Przykadowe dokumenty XML dostpne w internecie ................................................. 395 Kursy walut ............................................................................................................ 395 Ksiki wydawnictwa Helion ................................................................................. 397 Projekt 26.1. Turniej Czterech Skoczni ........................................................................ 398 Aplikacja ................................................................................................................ 400 [ Pobierz całość w formacie PDF ] |