Symfony.pdf

(268 KB) Pobierz
Karol Przystalski
Symfony.
Aplikacje internetowe
w praktyce
Redakcja:
Joanna Cierkońska
Skład komputerowy:
Krzysztof
Świstak
Zastrzeżonych nazw firm i produktów użyto w książce wyłącznie w celu identyfikacji.
Copyright © by Wydawnictwo Naukowe PWN SA
Warszawa 2009
ISBN: 978-83-01-15726-5
Wydawnictwo Naukowe PWN SA
00-251 Warszawa, ul. Miodowa
10
tel. (0 22) 69 54 321
faks (0 22) 69 54 031
e-mail: pwn@pwn.com.pl
www.pwn.pl
Wydawnictwo Naukowe PWN SA
Wydanie pierwsze,
Arkuszy drukarskich 37,5
Druk ukończono w listopadzie 2008 r.
Druk i oprawa:
ZWP HEL,
04-007 Warszawa,
ul. Grenadierów 77
Kup książkę
Spis treúci
Wstęp ........................................................................................................................................... 8
O czym jest ta książka? ..................................................................................................... 8
Dla kogo jest ta książka? ................................................................................................... 8
Dokumentacja Symfony .................................................................................................... 8
Rozdział 1. Podstawy tworzenia aplikacji webowych ............................................................. 9
1.1. Dlaczego Symfony?.................................................................................................. 9
1.2. Jak zacząć?.............................................................................................................. 13
1.2.1. Zależności................................................................................................. 13
1.2.2. Instalacja w systemach Unix (Linux, Mac OS) ........................................ 15
1.2.3. Instalacja w systemach Windows ............................................................. 17
1.2.4. Instalacja na serwerach zewnętrznych...................................................... 19
1.2.5. Konfiguracja serwera WWW ................................................................... 21
1.3. Agile znaczy zwinny............................................................................................... 23
1.3.1. Modele tworzenia oprogramowania ......................................................... 23
1.3.2. Krótkie wprowadzenie do Scrum ............................................................. 26
1.3.3. Scrum a Symfony ..................................................................................... 29
1.4. Model MVC............................................................................................................ 32
1.4.1. Epoka lodowcowa..................................................................................... 33
1.4.2. MVC w PHP............................................................................................. 38
1.5. Wzorce projektowe w Symfony ............................................................................. 43
1.5.1. Model MVC w Symfony .......................................................................... 43
1.5.2. Pozostałe wzorce stosowane w Symfony ................................................. 47
1.6. Podstawy refaktoryzacji.......................................................................................... 49
1.6.1. Extract method.......................................................................................... 51
1.7. Workflow w Symfony ............................................................................................ 53
1.7.1. Struktura ................................................................................................... 53
1.7.2. Konfiguracja ............................................................................................. 54
Rozdział 2. Wprowadzenie do Symfony ................................................................................. 59
2.1. Nowa aplikacja, nowy moduł ................................................................................. 59
2.1.1. Struktura ................................................................................................... 59
2.1.2. Konfiguracja ............................................................................................. 63
2.2. Różne podejścia do zagadnienia modelu ................................................................ 66
2.2.1. Schema...................................................................................................... 67
2.2.2. Propel w modelu Symfony ....................................................................... 69
2.3. Siła Smarty.............................................................................................................. 71
2.3.1. Instalacja................................................................................................... 71
2.3.2. Konfiguracja ............................................................................................. 72
Kup książkę
4
Symfony. Aplikacje internetowe
2.4. Tworzymy pierwszy moduł .................................................................................... 74
2.4.1. Schema...................................................................................................... 74
2.4.2. Fixtures ..................................................................................................... 76
2.4.3. Mój pierwszy kontroler ............................................................................ 78
2.4.4. Propel i Criteria ........................................................................................ 79
2.4.5. Szablony ................................................................................................... 80
2.4.6. Kontrola przepływu w szablonach ........................................................... 83
2.5. Formularze .............................................................................................................. 84
2.5.1. Nowy system tworzenia formularzy......................................................... 84
2.5.2. Uwierzytelnianie....................................................................................... 86
2.5.3. Walidacja formularzy ............................................................................... 88
2.5.4. Wysyłanie e−maili – sfSwift ..................................................................... 94
Rozdział 3. Rozbudowa aplikacji ............................................................................................ 97
3.1. Formularzy ciąg dalszy........................................................................................... 97
3.2. ORM – ciąg dalszy ............................................................................................... 103
3.2.1. Relacje w ORM ...................................................................................... 103
3.3. Szablony bardziej zaawansowane......................................................................... 107
3.3.1. Partiale i komponenty............................................................................. 107
3.4. Dzielimy wyniki ................................................................................................... 112
3.4.1. Stronicowanie = pager ............................................................................ 112
3.5. CRUD, czyli napisz sobie prototyp ...................................................................... 117
3.5.1. Łączenie kryteriów ................................................................................. 118
3.6. AJAX w Symfony................................................................................................. 119
3.6.1. JavaScript i biblioteka Prototype............................................................ 119
Rozdział 4. Panel administracyjny........................................................................................ 125
4.1. Admin generator – szef wszystkich szefów.......................................................... 125
4.1.1. Struktura katalogowa.............................................................................. 126
4.2. Zarządzamy serwisem........................................................................................... 127
4.2.1. Konfiguracja ........................................................................................... 128
4.3. Dodajemy kolejne moduły.................................................................................... 130
4.3.1. Walidacja ................................................................................................ 131
4.3.2. Filtry ....................................................................................................... 133
4.3.3. Wielojęzyczność..................................................................................... 134
4.4. CMS – to proste .................................................................................................... 137
4.4.1. Edytor FCKeditor ................................................................................... 137
4.4.2. Zastępowanie metod ............................................................................... 138
Rozdział 5. Bezpieczeństwo.................................................................................................... 141
5.1. RBAC ................................................................................................................... 141
5.2. Zewnętrzne zagrożenia ......................................................................................... 146
5.2.1. SQL Injection ......................................................................................... 146
5.2.2. XSS......................................................................................................... 146
5.2.3. CSRF ...................................................................................................... 147
5.2.4. Captcha ................................................................................................... 147
Kup książkę
Spis treści
5
5.2.5. Kilka uwag końcowych .......................................................................... 149
Rozdział 6. Wtyczki ................................................................................................................ 151
6.1. Struktura................................................................................................................ 151
6.2. Konfiguracja wtyczek ........................................................................................... 152
6.2.1. Prosta konfiguracja ................................................................................. 152
6.2.2. Zaawansowana konfiguracja .................................................................. 154
6.3. Kompatybilność wtyczek...................................................................................... 159
6.4. Własna wtyczka .................................................................................................... 162
Rozdział 7. Testowanie kodu w Symfony ............................................................................. 173
7.1. Wprowadzenie do testów...................................................................................... 173
7.1.1. Testy funkcjonalne ................................................................................. 173
7.1.2. Testy jednostkowe .................................................................................. 174
7.1.3. Kiedy zakończyć testowanie?................................................................. 174
7.1.4. Test Driven Development....................................................................... 175
7.2. Testy w Symfony .................................................................................................. 175
7.2.1. Testy jednostkowe w Symfony............................................................... 176
7.2.2. Testy funkcjonalne w Symfony.............................................................. 179
Dodatek A. Wiersz polecenia ................................................................................................. 183
Bibliografia.............................................................................................................................. 187
Skorowidz ................................................................................................................................ 189
Kup książkę
Zgłoś jeśli naruszono regulamin