PHP5 Programowanie z wykorzystaniem Symfony CakePHP Zend Framework.pdf

(488 KB) Pobierz
PHP5. Programowanie
z wykorzystaniem Symfony,
CakePHP, Zend Framework
Autorzy: Tomasz Skaraczyñski, Andrzej Zo³a
ISBN: 978-83-246-2521-5
Format: 158×235, stron: 360
Na rynku dostêpnych jest obecnie mnóstwo rozwi¹zañ umo¿liwiaj¹cych szybkie
tworzenie serwisów internetowych z wykorzystaniem najpopularniejszego jêzyka
skryptowego, czyli PHP, oraz zestawów narzêdzi sk³adaj¹cych siê z bazy danych
i serwera HTTP, takich jak MySQL i Apache. Wybór najlepszego oprogramowania dla
konkretnej witryny mo¿e byæ czasami bardzo trudny, poniewa¿ ka¿da z platform ma
swoje wady i zalety. Sprawê mo¿e jednak u³atwiæ lektura odpowiedniej ksi¹¿ki.
Ksi¹¿k¹ t¹ jest „PHP5. Programowanie z wykorzystaniem Symfony, CakePHP, Zend
Framework”. Dok³adnie opisano w niej sposób dzia³ania poszczególnych platform,
zwracaj¹c szczególn¹ uwagê na mocne i s³abe strony ka¿dego z rozwi¹zañ. Na
podstawie praktycznych przyk³adów zastosowañ bêdziesz móg³ samodzielnie
przekonaæ siê, które oprogramowanie najlepiej sprawdzi siê w Twoim projekcie.
Nauczysz siê te¿ wiele o budowie frameworków, poznasz znaczenie warstw i zasady
administrowania serwisami, a ponadto zdobêdziesz wiadomoœci na temat wirtualnych
hostów i odpowiedniego œrodowiska pracy projektanta WWW.
• Instalowanie i konfigurowanie platform
• Konstrukcja aplikacji WWW
• Znaczenie warstw kontrolera, modelu i widoku
• Tworzenie przyk³adowych aplikacji
• œrodowisko pracy projektanta WWW
• Praca z wirtualnymi hostami
• Zarz¹dzanie projektami
Poznaj najbardziej popularne rozwi¹zania dla twórców WWW
Spis tre ci
Rozdziaä 1. Szybki start ..................................................................................... 9
Struktura serwisu .............................................................................................................. 9
Ruszamy z projektem ..................................................................................................... 10
Potrzebna aplikacja ......................................................................................................... 11
Tworzymy moduá ........................................................................................................... 12
Pierwsza akcja ................................................................................................................ 13
Szablony akcji ................................................................................................................ 15
Instalacja layoutu ............................................................................................................ 16
Sprz tanie wewn trz layoutu ................................................................................. 17
Konfiguracja widoku aplikacji ............................................................................... 17
Edycja pliku layoutu .............................................................................................. 18
Prezentowanie wyniku akcji ........................................................................................... 20
Brakuj ce elementy serwisu ........................................................................................... 21
Powi zanie akcji z menu ................................................................................................ 22
Stopka — i to by byáo na tyle ......................................................................................... 22
Podsumowanie ................................................................................................................ 23
Rozdziaä 2. Warstwa kontrolera ........................................................................ 25
Budowa aplikacji Symfony ............................................................................................. 25
Kontroler frontowy ......................................................................................................... 26
Jak startuje aplikacja Symfony? ............................................................................. 27
Czy mo na u ywaü wi cej ni jednego kontrolera frontowego? ........................... 28
Jak u yü innego kontrolera? ................................................................................... 28
Co to jest rodowisko pracy kontrolera? ................................................................ 28
Gdzie s konfigurowane rodowiska pracy? .......................................................... 29
Czy mo na utworzyü wáasne rodowisko pracy? ................................................... 29
Akcje .............................................................................................................................. 29
Pliki z akcj ........................................................................................................... 31
W jaki sposób przekazaü parametr do akcji? ......................................................... 32
Zagl damy do rodka akcji .................................................................................... 33
Przesyáanie parametrów w daniu HTTP ...................................................................... 34
Czy formularze mo na tworzyü inaczej? ............................................................... 36
Szablon widoku .............................................................................................................. 37
Co musisz wiedzieü na pocz tek? .......................................................................... 37
Jak sterowaü widokami? ........................................................................................ 37
Czy mog u ywaü wáasnych widoków? ................................................................. 38
4
PHP5. Programowanie z wykorzystaniem Symfony, CakePHP, Zend Framework
Co z akcjami, które nie mog byü prezentowane w przegl darce? ........................ 38
Warunkowe zwracanie widoków ........................................................................... 39
Przekierowania ............................................................................................................... 40
danie nietrafione ................................................................................................ 42
Inne rodzaje przekierowa ..................................................................................... 44
Przed akcj i po akcji ...................................................................................................... 44
Obiekt obsáuguj cy dania ............................................................................................ 46
Informacje o daniu ............................................................................................. 48
Informacje o zasobie .............................................................................................. 48
ParameterHolder i funkcje proxy .................................................................................... 49
Funkcje proxy ........................................................................................................ 50
Ciasteczka ....................................................................................................................... 51
Przesyáanie plików na serwer ......................................................................................... 52
Obsáuga sesji ................................................................................................................... 53
Proste logowanie .................................................................................................... 54
Usuwanie zmiennej z sesji ..................................................................................... 56
Zmienne sesji w widokach ..................................................................................... 57
Atrybuty jednorazowe ............................................................................................ 57
Kilka sáów o konfiguracji sesji ............................................................................... 59
System uprawnie .......................................................................................................... 60
Przegl d funkcji systemu uprawnie ..................................................................... 64
Zaawansowane listy uwierzytelnie ...................................................................... 64
Walidacja ........................................................................................................................ 66
Mechanizm walidacji ............................................................................................. 67
Podsumowanie ................................................................................................................ 68
Rozdziaä 3. Warstwa modelu ............................................................................ 69
Od bazy do modelu ......................................................................................................... 69
Baza danych ........................................................................................................... 70
Generowanie schematu YML na podstawie bazy danych .............................................. 73
Konfiguracja propela ............................................................................................. 73
Generowanie bazy danych na podstawie schematu YML .............................................. 77
Anatomia pliku schema.yml .................................................................................. 79
Dost pne typy danych ............................................................................................ 81
Definiowanie pól ................................................................................................... 83
Indeksy ................................................................................................................... 84
Wáa ciwo ci poá czenia ......................................................................................... 84
Dwa schematy. Czy to mo liwe? ........................................................................... 85
Co w modelu piszczy ...................................................................................................... 87
Katalogi modelu ..................................................................................................... 88
Model w akcji ........................................................................................................ 88
Konstruowanie kryteriów ............................................................................................. 100
Warunkowe pobieranie danych ............................................................................ 100
Typy porównywania dozwolone dla metody add ................................................. 102
Inne metody obiektu Criteria ............................................................................... 103
Zliczanie rekordów .............................................................................................. 107
Surowe zapytania SQL ................................................................................................. 107
Korzystanie z Creole ............................................................................................ 108
Rozszerzanie modelu .................................................................................................... 109
Poá czenia z baz danych ............................................................................................. 112
Wi cej o pliku database.yml ................................................................................ 112
Podsumowanie .............................................................................................................. 114
Spis tre ci
5
Rozdziaä 4. Warstwa widoku .......................................................................... 115
Domy lna akcja i jej widok .......................................................................................... 115
Reguáy dla szablonów widoku ............................................................................. 116
Logika a szablon .................................................................................................. 117
Pomocniki ..................................................................................................................... 117
Pomocniki ogólnie dost pne ................................................................................ 119
Layouty ......................................................................................................................... 120
Inny layout ........................................................................................................... 121
Pomocniki w layoutach ........................................................................................ 123
Zmiana layoutu dla moduáu ................................................................................. 123
Zmiana layoutu dla szablonu widoku .................................................................. 124
Zmiana layoutu dla akcji ...................................................................................... 125
Usuwanie layoutu ................................................................................................ 126
Elementy widoku .......................................................................................................... 127
Proste doá czanie pliku ........................................................................................ 127
Partiale ................................................................................................................. 128
Komponenty ................................................................................................................. 133
Sloty ............................................................................................................................. 136
Konfiguracja ................................................................................................................. 139
Pliki view.yml ...................................................................................................... 139
Kaskada plików konfiguracyjnych ....................................................................... 140
Obiekt Response .................................................................................................. 141
Sterowanie sekcj meta poprzez obiekt odpowiedzi ............................................ 142
Pliki zewn trzne ........................................................................................................... 143
Pliki CSS i JS ....................................................................................................... 144
Manipulowanie kolejno ci doá czanych plików ................................................. 144
Okre lanie medium .............................................................................................. 145
Komponenty slotowe .................................................................................................... 146
Podsumowanie .............................................................................................................. 149
Rozdziaä 5. Przykäadowa aplikacja .................................................................. 151
wiat wizytówek .......................................................................................................... 151
Projekt bazy danych ..................................................................................................... 152
Instalacja layoutu i konfiguracja widoku ...................................................................... 154
Wykonanie modelu ....................................................................................................... 158
Budowa menu ............................................................................................................... 158
Strona o firmie .............................................................................................................. 160
Panel administracyjny — o firmie ....................................................................... 161
Interfejs u ytkownika — o firmie ........................................................................ 164
Strona referencji ........................................................................................................... 164
Panel administracyjny — referencje .................................................................... 165
Interfejs u ytkownika — referencje ..................................................................... 175
Strony z ofert .............................................................................................................. 176
Panel administracyjny — kategorie ..................................................................... 177
Panel administracyjny — produkty ...................................................................... 179
Panel administracyjny — kategorie — ci g dalszy .............................................. 185
Panel administracyjny — zdj cia ......................................................................... 188
Interfejs u ytkownika — oferta ........................................................................... 191
Sentencje — panel administracyjny i interfejs u ytkownika ........................................ 197
Licznik odwiedzin ........................................................................................................ 202
Podsumowanie .............................................................................................................. 203
6
PHP5. Programowanie z wykorzystaniem Symfony, CakePHP, Zend Framework
Rozdziaä 6. Aplikacja Zend ............................................................................. 205
Szybka instalacja .......................................................................................................... 205
Test instalacji ................................................................................................................ 206
Po instalacji .................................................................................................................. 206
Pierwsza akcja na rozgrzewk ...................................................................................... 207
Konfiguracja projektu ................................................................................................... 208
Layout ........................................................................................................................... 209
Interfejs klienta ............................................................................................................. 210
Strona o firmie ..................................................................................................... 210
Menu .................................................................................................................... 214
Referencje ............................................................................................................ 216
Oferta ............................................................................................................................ 217
Submenu .............................................................................................................. 220
Kategoria ............................................................................................................. 221
Szczegóáy produktu .............................................................................................. 223
Dodatki ................................................................................................................ 224
Panel administracyjny ................................................................................................... 229
Inny layout dla panelu .......................................................................................... 229
Zarz dzanie stron o firmie ................................................................................. 230
Administracja referencjami .................................................................................. 234
Kategorie ............................................................................................................. 243
Zarz dzanie produktami ....................................................................................... 252
Sentencje .............................................................................................................. 264
Podsumowanie .............................................................................................................. 269
Rozdziaä 7. Aplikacja CakePHP ...................................................................... 271
Instalacja frameworka ................................................................................................... 271
Konfiguracja bazy danych ............................................................................................ 272
O firmie ........................................................................................................................ 273
Model ................................................................................................................... 273
Kontroler .............................................................................................................. 274
Widok .................................................................................................................. 275
Layout ........................................................................................................................... 275
Logowanie na ekranie ................................................................................................... 276
Menu ............................................................................................................................. 276
Komponent .......................................................................................................... 277
Helper .................................................................................................................. 277
Referencje ..................................................................................................................... 280
Model referencji ................................................................................................... 280
Oferta ............................................................................................................................ 282
Model na rozgrzewk ........................................................................................... 282
Oferta w poszczególnych kategoriach ................................................................. 285
Szczegóáy wizytówki ........................................................................................... 287
Sentencje ...................................................................................................................... 288
Komponent .......................................................................................................... 288
Uruchomienie komponentu Sentencje ................................................................. 289
Licznik .......................................................................................................................... 290
Komponent licznika ............................................................................................. 290
Uruchamianie licznika ......................................................................................... 291
Panel administracyjny ................................................................................................... 292
Zmiana layoutu .................................................................................................... 292
Strona administracyjna o firmie ........................................................................... 293
Referencje ............................................................................................................ 296
Kategorie ............................................................................................................. 304
Zgłoś jeśli naruszono regulamin