PHP_MySQL_i_MVC_Witryny_oparte_na_bazie_danych.pdf
(
281 KB
)
Pobierz
PHP, MySQL i MVC. Tworzenie witryn WWW opartych na bazie danych
PHP, MySQL i MVC.
Tworzenie witryn WWW
opartych na bazie danych
Autor
:
W³odzimierz Gajda
ISBN: 978-83-246-1258-1
Format: 158
×
235, stron: 528
Du¿a czêœæ popularnych serwisów internetowych dostêpnych obecnie w sieci dzia³a
w oparciu o relacyjne bazy danych i jêzyk PHP. Tandem ten sta³ siê ju¿ niemal
standardem w dziedzinie tworzenia rozbudowanych, dynamicznych witryn i aplikacji
WWW zarówno w przypadku wielkich przedsiêbiorstw, jak i hobbystów pragn¹cych
dzieliæ siê swoimi doœwiadczeniami za poœrednictwem internetu. PHP i MySQL doskonale
nadaj¹ siê do praktycznej realizacji wzorca architektonicznego MVC, u³atwiaj¹cego
opracowywanie nawet najbardziej z³o¿onych projektów. Dziêki odseparowaniu
poszczególnych komponentów aplikacji i podzieleniu jej na mniejsze elementy
funkcjonalne tworzona witryna jest znacznie wygodniejsza w zarz¹dzaniu i modyfikacji
ni¿ serwisy oparte na innych wzorcach.
Wzorzec architektoniczny MVC – choæ opracowany z myœl¹ o uproszczeniu ¿ycia
programistom i twórcom witryn WWW – pocz¹tkowo bardzo trudno zrozumieæ, a postêp
w dziedzinie tworzenia stron internetowych wymusza ci¹g³e dostosowywanie siê do
panuj¹cych na rynku trendów i sta³e odœwie¿anie wiedzy na ten temat. Pomoc¹ pos³u¿y
tu odpowiednia ksi¹¿ka – z pewnoœci¹ mo¿e ni¹ byæ „PHP, MySQL i MVC. Tworzenie
witryn WWW opartych na bazie danych”. W przystêpny sposób prezentuje ona podstawy
zastosowania architektury MVC, pokazuje wykorzystanie dwóch najwa¿niejszych
rozwi¹zañ do mapowania obiektowo-relacyjnego, podsuwa techniki tworzenia
funkcjonalnych interfejsów u¿ytkownika aplikacji WWW oraz proponuje stosowanie
ró¿nych formatów do przechowywania danych. Poszczególne zagadnienia ilustrowane
s¹ przyk³adami i praktycznymi projektami, dziêki czemu ³atwiej zrozumieæ opisywane
techniki i wykorzystaæ je w swoich aplikacjach. Zdobyt¹ wiedzê pomagaj¹ utrwaliæ
liczne æwiczenia do samodzielnego wykonania.
Podstawy u¿ycia wzorca MVC
Modu³y, akcje, widoki, szablony PHP i szablony Smarty
Regu³y translacji przyjaznych adresów URL
U¿ywanie baz danych w projektach WWW
Wizualne projektowanie baz danych i mapowanie relacyjno-obiektowe
Wykorzystanie oprogramowania Propel oraz Doctrine
Metody zwiêkszania funkcjonalnoœci interfejsów aplikacji internetowych
Stronicowanie wyników i przewijanie rekordów
Chmura tagów, korzystanie z formatów TXT, XML, XLS
Odczyt plików i wype³nianie bazy danych
Pliki skompresowane i osadzanie danych binarnych w plikach XML
Poznaj w praktyce nowoczesne metody tworzenia zaawansowanych aplikacji WWW!
Wszystkie projekty omówione w ksi¹¿ce umieszczono na p³ycie do³¹czonej do ksi¹¿ki.
Ka¿dy z projektów jest dostêpny jako kompletne, dzia³aj¹ce rozwi¹zanie, dok³adnie
przetestowane.
Spis treci
Wstp ............................................................................................ 13
Cz I Akcje, widoki, translacje adresów URL i bazy danych,
czyli podstawy uycia MVC ............................................ 15
Rozdzia 1. Hello world — pierwsza aplikacja korzystajca z MVC ..................... 17
Projekt 1.1. Hello world! ................................................................................................ 18
Krok pierwszy: utworzenie moduu main ................................................................. 19
Krok drugi: utworzenie akcji hello w module main ................................................. 19
Krok trzeci: utworzenie ukadu witryny WWW ....................................................... 20
Krok czwarty: regua translacji adresu pierwszy-projekt.html
na wykonanie akcji main/hello .............................................................................. 20
Krok pity: skrypt index.php .................................................................................... 21
Pliki, które naley utworzy ..................................................................................... 22
Uruchomienie projektu ............................................................................................. 23
Przebieg wykonania ................................................................................................. 24
Rozdzia 2. Doczanie zewntrznych zasobów .css, .jpg, .js .............................. 27
Projekt 2.1. Wlaz kotek na schody… ............................................................................ 28
Analiza cieek zawartych w kodzie HTML .................................................................. 31
Rozdzia 3. Bdy 404 ...................................................................................... 35
Projekt 3.1. óta Turnia ................................................................................................. 36
Ogldanie strony bdu oraz nagówka HTTP .......................................................... 38
Rozdzia 4. Zmienne i widoki ............................................................................ 41
Projekt 4.1. Data i godzina — szablon PHP ................................................................... 42
Projekt 4.2. Data i godzina — szablon Smarty ............................................................... 45
Projekt 4.3. Ojciec i syn — szablon PHP ....................................................................... 47
Projekt 4.4. Ojciec i syn — szablony Smarty ................................................................. 49
Projekt 4.5. Stefan eromski:
Zmierzch
— szablon PHP ............................................... 50
Projekt 4.6. Stefan eromski:
Zmierzch
— szablony Smarty ......................................... 53
Projekt 4.7. Kolory CSS ................................................................................................. 54
Projekt 4.8. Kolory CSS — szablony Smarty ................................................................. 56
Rozdzia 5. Pre- i postprzetwarzanie ................................................................. 59
Projekt 5.1. Fraszki ......................................................................................................... 60
Projekt 5.2. Fraszki — szablony Smarty ........................................................................ 68
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
Plik z chomika:
wiedza_z_chomikuj
Inne pliki z tego folderu:
PHP_MySQL_i_MVC_Witryny_oparte_na_bazie_danych.pdf
(281 KB)
PHP - Dokumantacja [www.php.net].rar
(79516 KB)
PHP.Architect.March.2010.pdf
(6044 KB)
PHP.Architect.February.2010.pdf
(5861 KB)
PC.World.May.2010.pdf
(28372 KB)
Inne foldery tego chomika:
C++
Lynda.com Actionscript 3.0 for Designers
Lynda.com ActionScript Beyond the Basics
Lynda.com JavaScript Essential Training
Lynda.com Practical and Effective JavaScript
Zgłoś jeśli
naruszono regulamin