Yii_Framework_yiifra.pdf

(517 KB) Pobierz
Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej
publikacji w jakiejkolwiek postaci jest zabronione. Wykonywanie kopii metodą kserograficzną,
fotograficzną, a także kopiowanie książki na nośniku filmowym, magnetycznym lub innym
powoduje naruszenie praw autorskich niniejszej publikacji.
Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi
ich właścicieli.
Autor oraz Wydawnictwo HELION dołożyli wszelkich starań, by zawarte
w tej książce informacje były kompletne i rzetelne. Nie biorą jednak żadnej odpowiedzialności
ani za ich wykorzystanie, ani za związane z tym ewentualne naruszenie praw patentowych lub
autorskich. Autor oraz Wydawnictwo HELION nie ponoszą również żadnej odpowiedzialności
za ewentualne szkody wynikłe z wykorzystania informacji zawartych w książce.
Redaktor prowadzący: Ewelina Burska
Projekt okładki: Studio Gravite/Olsztyn
Obarek, Pokoński, Pazdrijowski, Zaprucki
Materiały graficzne na okładce zostały wykorzystane za zgodą Shutterstock.
Wydawnictwo HELION
ul. Kościuszki 1c, 44-100 GLIWICE
tel. 32 231 22 19, 32 230 98 63
e-mail: helion@helion.pl
WWW: http://helion.pl (księgarnia internetowa, katalog książek)
Drogi Czytelniku!
Jeżeli chcesz ocenić tę książkę, zajrzyj pod adres
http://helion.pl/user/opinie/yiifra
Możesz tam wpisać swoje uwagi, spostrzeżenia, recenzję.
Materiały do książki można znaleźć pod adresem:
ftp://ftp.helion.pl/przyklady/yiifra.zip
ISBN: 978-83-246-7920-1
Copyright © Helion 2014
Printed in Poland.
Kup książkę
Poleć książkę
Oceń książkę
Księgarnia internetowa
Lubię to! » Nasza społeczność
Spis tre ci
Wst p .............................................................................................. 7
Rozdzia 1. Pobieranie ....................................................................................... 9
Wymagania frameworku ................................................................................................ 10
Rozdzia 2. Instalacja ....................................................................................... 13
Dodawanie cie ki dost pu w systemie Windows .......................................................... 13
Dodawanie cie ki dost pu w systemie Linux ............................................................... 14
Uruchomienie frameworku ............................................................................................. 14
Plik .htaccess .................................................................................................................. 16
„Tyle pracy, aby wygenerowa jedn stron !” ............................................................... 17
Rozdzia 3. Model, widok, kontroler .................................................................. 19
Wzorzec model – widok – kontroler ............................................................................... 19
Kontroler ........................................................................................................................ 19
Parametry akcji ......................................................................................................... 21
Model ............................................................................................................................. 22
Baza danych ............................................................................................................. 23
DAO ......................................................................................................................... 24
Przekazywanie danych ............................................................................................. 26
Parametry w zapytaniu ............................................................................................. 29
Po czenie z wieloma bazami danych ...................................................................... 30
ActiveRecord ............................................................................................................ 32
Porównanie ActiveRecord, SQL i Query Builder ..................................................... 43
Widok ............................................................................................................................. 43
Rozdzia 4. Tworzenie formularzy ...................................................................... 47
Budowa formularza ........................................................................................................ 47
Model ....................................................................................................................... 48
Widok ....................................................................................................................... 49
Kontroler .................................................................................................................. 50
Elementy formularza ...................................................................................................... 52
Pole tekstowe — text ................................................................................................ 52
Pole z ukryt tre ci — password ............................................................................. 54
Wielowierszowe pole tekstowe — textarea .............................................................. 55
Pole listy rozwijanej — select .................................................................................. 56
Pole opcji (prze cznik) — radio .............................................................................. 58
Pole wyboru — checkbox ........................................................................................ 59
Kup książkę
Poleć książkę
4
Yii Framework
Selektor plików — file ............................................................................................. 61
Pole ukryte — hidden ............................................................................................... 63
Przycisk — button .................................................................................................... 64
Przycisk wys ania formularza — submit .................................................................. 65
Przycisk przywracania danych domy lnych formularza — reset ............................. 67
Walidacja danych ........................................................................................................... 68
Puste pola ................................................................................................................. 70
Porównywanie .......................................................................................................... 71
Poprawno adresu e-mail ........................................................................................ 73
Format daty i czasu .................................................................................................. 73
Domy lna warto pola ............................................................................................ 74
Warto ci istniej ce w tabeli ...................................................................................... 75
Konwertowanie otrzymanych danych ...................................................................... 76
Dozwolone ci gi znakowe ........................................................................................ 77
Dozwolona liczba wpisanych znaków ...................................................................... 78
Dozwolone warto ci liczb ........................................................................................ 79
Sprawdzanie typu zmiennej ...................................................................................... 80
Warto unikalna ...................................................................................................... 81
Walidacja adresu URL ............................................................................................. 81
Sprawdzanie warto ci pola w zale no ci od scenariusza .......................................... 82
Rozdzia 5. Zaawansowana konfiguracja ........................................................... 87
Zmiana adresu URL ....................................................................................................... 87
Zmiana tytu u ................................................................................................................. 87
adowanie bibliotek i komponentów .............................................................................. 88
B dy aplikacji ................................................................................................................ 90
Dzienniki systemowe ...................................................................................................... 90
Tworzenie czy .............................................................................................................. 94
Usuwanie nazwy pliku index.php z adresu URL ............................................................ 98
Zmiana cie ki dost pu Yii ............................................................................................ 99
W asne dane konfiguracyjne ......................................................................................... 100
Strony statyczne ........................................................................................................... 101
Przekierowania ............................................................................................................. 103
Dodawanie komunikatów w sesji ................................................................................. 103
Korzystanie z szablonów .............................................................................................. 105
Przygotowanie aplikacji do opublikowania .................................................................. 108
Rozdzia 6. Gii ............................................................................................... 109
Uruchomienie Gii ......................................................................................................... 109
Po czenie z baz danych ............................................................................................. 110
Tabela w bazie danych ................................................................................................. 110
Logowanie do Gii ......................................................................................................... 111
Tworzenie modeli ......................................................................................................... 112
Tworzenie kontrolerów ................................................................................................. 114
Tworzenie formularzy .................................................................................................. 116
Tworzenie systemu CRUD ........................................................................................... 118
Rozdzia 7. Zaawansowane mo liwo ci Yii ...................................................... 125
Automatyczne dzielenie na strony ................................................................................ 125
Sortowanie danych ....................................................................................................... 128
CAPTCHA w formularzach ......................................................................................... 130
Zapisywanie plików na serwerze poprzez formularz .................................................... 134
Kup książkę
Poleć książkę
Spis tre ci
5
Rozdzia 8. Zii ............................................................................................... 137
Rozszerzenia Zii ........................................................................................................... 137
CMenu .......................................................................................................................... 137
CListView .................................................................................................................... 138
CDetailView ................................................................................................................. 140
CBreadcrumbs .............................................................................................................. 141
CGridView ................................................................................................................... 143
Rozdzia 9. Budujemy blog — interfejs AR ...................................................... 145
Baza danych ................................................................................................................. 145
Tworzenie aplikacji ...................................................................................................... 152
G ówny plik aplikacji ............................................................................................. 153
G ówny plik konfiguracyjny ................................................................................... 153
Plik .htaccess .......................................................................................................... 154
Arkusz styli ............................................................................................................ 155
G ówny plik szablonu strony .................................................................................. 155
Model dla tabeli blog_kategorie ............................................................................. 156
Model dla tabeli blog_komentarze ......................................................................... 158
Model dla tabeli blog_uzytkownicy ....................................................................... 159
Model dla tabeli blog_wpisy .................................................................................. 161
Model do obs ugi zmiany has a .............................................................................. 162
Kontroler bloga ...................................................................................................... 163
Kontroler logowania ............................................................................................... 167
Kontroler panelu administratora ............................................................................. 170
Widok logowania ................................................................................................... 179
Widok bloga — strona g ówna ............................................................................... 181
Widok bloga — kategoria ...................................................................................... 182
Widok bloga — wpis .............................................................................................. 184
Widok panelu — kategorie ..................................................................................... 186
Widok panelu — aktualizacja kategorii ................................................................. 189
Widok panelu — komentarze ................................................................................. 190
Widok panelu — wpisy .......................................................................................... 191
Widok panelu — aktualizacja wpisu ...................................................................... 193
Widok panelu — zmiana has a ............................................................................... 196
S owo ko cowe ...................................................................................................... 198
Rozdzia 10. Budujemy blog — zapytania SQL .................................................. 199
Baza danych ................................................................................................................. 199
Utworzenie aplikacji ..................................................................................................... 199
G ówny plik aplikacji ............................................................................................. 200
G ówny plik konfiguracyjny ................................................................................... 200
Plik .htaccess .......................................................................................................... 201
Arkusz styli ............................................................................................................ 201
G ówny plik szablonu strony .................................................................................. 202
Model dla tabeli blog_kategorie ............................................................................. 203
Model dla tabeli blog_komentarze ......................................................................... 205
Model dla tabeli blog_uzytkownicy ....................................................................... 208
Model dla tabeli blog_wpisy .................................................................................. 209
Model do obs ugi zmiany has a .............................................................................. 212
Kontroler bloga ...................................................................................................... 214
Kontroler logowania ............................................................................................... 218
Kontroler panelu administratora ............................................................................. 220
Widok bloga — strona g ówna ............................................................................... 229
Widok bloga — kategoria ...................................................................................... 231
Kup książkę
Poleć książkę
Zgłoś jeśli naruszono regulamin