Cyfroteka.pl

klikaj i czytaj online

Cyfro
Czytomierz
00422 006068 14695137 na godz. na dobę w sumie
Symfony 2 od podstaw - książka
Symfony 2 od podstaw - książka
Autor: Liczba stron: 488
Wydawca: Helion Język publikacji: polski
ISBN: 978-83-246-3498-9 Data wydania:
Lektor:
Kategoria: ebooki >> komputery i informatyka >> webmasterstwo >> php - programowanie
Porównaj ceny (książka, ebook, audiobook).

Podbij internet z Symfony 2!

Symfony 2 to nowa wersja doskonałego środowiska, pozwalającego tworzyć strony internetowe oraz aplikacje w języku PHP. Ten framework, długo wypatrywany przez rzesze programistów, ma wiele atutów: w pełni wykorzystuje obiektowe możliwości najnowszej wersji języka PHP, jest kompatybilny z innymi bibliotekami PHP, ma modularną budowę, a także zawiera ponad dwadzieścia komponentów, których można używać razem lub oddzielnie. Znakomicie ułatwia też wychwytywanie błędów w tworzonej aplikacji i efektywnie zabezpiecza ją przed dostępem niepowołanych osób.

Zadaniem tej książki jest szybkie i praktyczne wprowadzenie Cię w świat Symfony 2 oraz pokazanie na konkretnych przykładach, jak można wykorzystać jego wspaniałe możliwości. Sprawdź, jak zainstalować aplikację i stworzyć z niej wygodne narzędzie, dołączyć zewnętrzne zasoby, przygotować szablon witryny czy opublikować projekt. Poznaj zmienne, wyrażenia i operatory Twig, instrukcje sterujące, znaczniki, funkcje i filtry. Naucz się pracować z bazą danych, wykorzystywać różne rozszerzenia i relacje, tworzyć aplikacje interaktywne i te przeznaczone wyłącznie do odczytu. Wszystko to masz na wyciągnięcie ręki - przeczytaj i stosuj we własnych projektach!

Poczuj komfort pracy z rewolucyjnym frameworkiem Symfony 2!


Znajdź podobne książki Ostatnio czytane w tej kategorii

Darmowy fragment publikacji:

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: Jan Paluch 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?symfo2 Możesz tam wpisać swoje uwagi, spostrzeżenia, recenzję. Przykłady omówione w książce są dostępne pod adresem: ftp://ftp.helion.pl/przyklady/symfo2.zip ISBN: 978-83-246-3498-9 Copyright © Helion 2012 Printed in Poland. • Kup książkę • Poleć książkę • Oceń książkę • Księgarnia internetowa • Lubię to! » Nasza społeczność Spis treĈci Podziökowania .............................................................................. 13 Tworzenie prostych stron WWW .................................... 15 CzöĈè I Rozdziaä 1. Uruchomienie przykäadowego projektu ........................................... 17 Dystrybucja with vendors — okoáo 6 MB ....................................................................... 17 Dystrybucja without vendors — okoáo 200 kB ............................................................. 17 Przykáad 1.1. Aplikacja przykáadowa ............................................................................ 18 ROZWIĄZANIE ..................................................................................................... 18 Podsumowanie .............................................................................................................. 22 Rozdziaä 2. Hello, world! .................................................................................. 25 Przestrzenie nazw .......................................................................................................... 25 Pakiet ............................................................................................................................. 26 Kontroler i akcja ............................................................................................................ 27 Widok ............................................................................................................................ 28 Przykáad 2.1. Hello, world! ........................................................................................... 28 ROZWIĄZANIE ..................................................................................................... 28 Zmodyfikowane pliki .................................................................................................... 39 ĝrodowiska pracy .......................................................................................................... 40 Tworzenie i usuwanie pakietów .................................................................................... 42 UĪycie przestrzeni nazewniczych .................................................................................. 42 Cechy Symfony 2 .......................................................................................................... 44 Formaty konfiguracji ............................................................................................... 44 Uruchomienie gotowego przykáadu ............................................................................... 46 Rozdziaä 3. Doäñczanie zewnötrznych zasobów ................................................. 47 Przykáad 3.1. Pusta Dolinka .......................................................................................... 49 ROZWIĄZANIE ..................................................................................................... 49 Przykáad 3.2. Dolina PiĊciu Stawów Polskich ............................................................... 53 ROZWIĄZANIE ..................................................................................................... 53 Rozdziaä 4. Szablon witryny ............................................................................. 57 Przykáad 4.1. Dwa kabele .............................................................................................. 60 ROZWIĄZANIE ..................................................................................................... 61 Rozdziaä 5. Hiperäñcza i struktura aplikacji ...................................................... 65 Tworzenie i usuwanie akcji ........................................................................................... 65 Tworzenie i usuwanie kontrolerów ............................................................................... 67 4 Symfony 2 od podstaw Tworzenie i usuwanie pakietów .................................................................................... 67 Definiowanie adresów URL akcji ................................................................................. 68 Przykáad 5.1. Fraszki ..................................................................................................... 69 ROZWIĄZANIE ..................................................................................................... 69 Przykáad 5.2. Zabytki Lublina ....................................................................................... 72 ROZWIĄZANIE ..................................................................................................... 74 Przykáad 5.3. Piosenki dla dzieci ................................................................................... 77 ROZWIĄZANIE ..................................................................................................... 78 Rozdziaä 6. Bäödy 404 ..................................................................................... 83 Strony báĊdów w Symfony 2 ......................................................................................... 84 Przykáad 6.1. Gady ........................................................................................................ 86 ROZWIĄZANIE ..................................................................................................... 86 Nadpisywanie widoków dowolnych pakietów .............................................................. 91 Programowe generowanie báĊdów 404 oraz 500 ........................................................... 92 Rozdziaä 7. Publikowanie projektu na serwerze hostingowym ........................... 93 Przykáad 7.1. Gady — wersja lokalna z wáasną domeną ............................................... 93 ROZWIĄZANIE ..................................................................................................... 94 Przykáad 7.2. Gady — wersja z serwera firmy NetArt .................................................. 95 ROZWIĄZANIE ..................................................................................................... 95 Przykáad 7.3. Gady — wersja z serwera firmy Light Hosting ....................................... 97 ROZWIĄZANIE ..................................................................................................... 97 Rozdziaä 8. Podsumowanie czöĈci I ............................................................... 101 Dystrybucje Symfony 2 ............................................................................................... 101 Przykáadowa aplikacja ACME demo .......................................................................... 101 Pierwszy samodzielnie wykonany projekt ................................................................... 102 ZewnĊtrzne zasoby ...................................................................................................... 103 Szablon witryny .......................................................................................................... 103 Podstawy routingu ....................................................................................................... 104 BáĊdy 404 .................................................................................................................... 104 Publikowanie projektu ................................................................................................. 105 Przykáad 8.1. Przygotowanie pakietu symfony2-customized-v1.zip (bez przykáadu src/Acme) ......................................................................................... 106 ROZWIĄZANIE ................................................................................................... 106 CzöĈè II Widoki ....................................................................... 109 Rozdziaä 9. Twig ........................................................................................... 111 Logiczne nazwy widoków ........................................................................................... 111 Nadpisywanie widoków z folderu vendor ................................................................... 113 Nazwy widoków akcji ................................................................................................. 114 Przykáad 9.1. Nazwy logiczne widoków, adnotacja @Template() i metoda render() ....... 116 ROZWIĄZANIE ................................................................................................... 116 Skáadnia widoków Twig .............................................................................................. 119 Wyáączanie interpretacji w szablonie .......................................................................... 120 Przykáad 9.2. Wyáączanie interpretacji fragmentu szablonu ........................................ 121 ROZWIĄZANIE ................................................................................................... 122 Podwójne rozszerzenie .html.twig ............................................................................... 123 Modyfikacja nagáówka Content-Type przy uĪyciu parametru _format ................. 124 Modyfikacja nagáówka Content-Type metodą set() .............................................. 124 Przykáad 9.3. Modyfikacja nagáówka Content-Type ................................................... 125 ROZWIĄZANIE ................................................................................................... 125 Spis treĈci 5 Rozdziaä 10. Zmienne, wyraĔenia i operatory Twig ........................................... 129 Przekazywanie zmiennych do widoku ........................................................................ 129 Przykáad 10.1. Data i godzina ...................................................................................... 130 ROZWIĄZANIE ................................................................................................... 131 Zabezpieczanie zmiennych .......................................................................................... 132 Przykáad 10.2. Zabezpieczanie zmiennych .................................................................. 134 ROZWIĄZANIE ................................................................................................... 135 Przekazywanie do widoku tablic ................................................................................. 138 Przekazywanie do widoku obiektów ........................................................................... 139 WyraĪenia Twig .......................................................................................................... 139 Operatory Twig ........................................................................................................... 141 Definiowanie zmiennych wewnątrz widoku ................................................................ 144 Zmienne globalne ........................................................................................................ 145 Rozdziaä 11. Instrukcje sterujñce for oraz if ..................................................... 147 Instrukcja for ............................................................................................................... 147 Instrukcja if ................................................................................................................. 150 Przykáad 11.1. Korona ziemi ....................................................................................... 151 ROZWIĄZANIE ................................................................................................... 152 Przykáad 11.2. Dzieáa literatury Ğwiatowej .................................................................. 155 ROZWIĄZANIE ................................................................................................... 155 Przykáad 11.3. Tabliczka mnoĪenia ............................................................................. 157 ROZWIĄZANIE ................................................................................................... 157 Przykáad 11.4. Tabela potĊg ........................................................................................ 161 ROZWIĄZANIE ................................................................................................... 161 Przykáad 11.5. Bezpieczna paleta kolorów .................................................................. 163 ROZWIĄZANIE ................................................................................................... 164 Rozdziaä 12. Znaczniki, filtry i funkcje ............................................................. 169 Znaczniki Twig ........................................................................................................... 169 Znaczniki for oraz if .............................................................................................. 171 Znaczniki macro, from i import ............................................................................ 171 Znacznik filter ....................................................................................................... 172 Znacznik set .......................................................................................................... 173 Znacznik extends ................................................................................................... 173 Znacznik block ...................................................................................................... 175 Znaczniki extends i block oraz dziedziczenie ....................................................... 175 Znacznik use ......................................................................................................... 178 Znacznik include ................................................................................................... 179 Znacznik spaceless ................................................................................................ 179 Znacznik autoescape ............................................................................................. 180 Znacznik raw ......................................................................................................... 180 Znacznik flush ....................................................................................................... 180 Znacznik do ........................................................................................................... 180 Znacznik render ..................................................................................................... 181 Filtry ............................................................................................................................ 181 Funkcje ........................................................................................................................ 184 Przykáad 12.1. Piosenki dzieciĊce ............................................................................... 185 ROZWIĄZANIE ................................................................................................... 186 Rozdziaä 13. Trójstopniowy podziaä widoków .................................................... 195 Przykáad 13.1. Opowiadania Edgara Allana Poe ......................................................... 197 ROZWIĄZANIE ................................................................................................... 198 Rozdziaä 14. Podsumowanie czöĈci II .............................................................. 205 6 Symfony 2 od podstaw CzöĈè III Dostosowywanie Symfony 2 ........................................ 207 Rozdziaä 15. Dodawanie nowych pakietów ....................................................... 209 Lista pakietów zawartych w Symfony ......................................................................... 209 ZawartoĞü folderu vendor/ ........................................................................................... 210 Pobieranie pakietów do folderu vendor/ .......................................................................... 211 Doáączanie pakietów do kodu ..................................................................................... 212 Przykáad 15.1. Przygotowanie dystrybucji symfony2-customized-v2 zawierającej pakiet DoctrineFixturesBundle ............................................................ 212 ROZWIĄZANIE ................................................................................................... 213 Rozdziaä 16. Podsumowanie czöĈci III ............................................................. 217 CzöĈè IV Praca z bazñ danych ................................................... 219 Rozdziaä 17. Pierwszy projekt wykorzystujñcy bazö danych .............................. 221 Przykáad 17.1. Imiona ................................................................................................. 221 ROZWIĄZANIE ................................................................................................... 222 Rozdziaä 18. ORM Doctrine 2 .......................................................................... 233 Tworzenie i usuwanie bazy danych ............................................................................. 233 Doctrine 2.1 ................................................................................................................. 234 Tworzenie tabel w bazie danych ................................................................................. 235 Struktura klas dostĊpu do bazy danych ....................................................................... 236 Dodawanie nowych wáaĞciwoĞci do istniejącej klasy ................................................. 237 Typy danych ................................................................................................................ 238 Operowanie klasami dostĊpu do bazy danych ............................................................. 240 Klasy Entity i EntityManager ................................................................................ 240 Stan obiektu Entity ................................................................................................ 241 Tworzenie nowych rekordów ................................................................................ 242 Usuwanie rekordów .............................................................................................. 243 Pobieranie wszystkich rekordów z bazy ................................................................ 243 Przykáad 18.1. Rzeki ................................................................................................... 243 ROZWIĄZANIE ................................................................................................... 244 Rozdziaä 19. Dostosowywanie klas dostöpu do bazy danych ............................. 251 Klasy Entity oraz Repository ....................................................................................... 251 Podstawowe metody klas Repository .......................................................................... 252 Metoda find() ........................................................................................................ 252 Metoda findAll() ................................................................................................... 253 Metoda findBy() .................................................................................................... 253 Metoda findOneBy() ............................................................................................. 254 Metoda findByX() ................................................................................................. 254 Metoda findOneByX() .......................................................................................... 255 Nadpisywanie metod klasy Entity ............................................................................... 255 Metoda __toString() klasy Entity .......................................................................... 255 Metoda fromArray () klasy Entity ......................................................................... 256 Nadpisywanie metod klasy Repository ....................................................................... 256 Przykáad 19.1. Tatry .................................................................................................... 257 ROZWIĄZANIE ................................................................................................... 257 Rozdziaä 20. Podsumowanie czöĈci IV ............................................................. 265 Spis treĈci 7 CzöĈè V Zachowania Doctrine ................................................. 267 Rozdziaä 21. Instalacja i konfiguracja rozszerzeþ DoctrineExtensions ................ 269 Przykáad 21.1. Przygotowanie dystrybucji symfony2-customized-v3 zawierającej pakiet StofDoctrineExtensionsBundle .................................................. 270 ROZWIĄZANIE ................................................................................................... 270 Rozdziaä 22. Zachowanie sluggable ................................................................. 275 Identyfikatory slug ...................................................................................................... 275 Automatyczne generowanie identyfikatorów slug w Symfony 2 ................................ 276 Przykáad 22.1. Wyrazy — test zachowania sluggable ................................................. 277 ROZWIĄZANIE ................................................................................................... 277 Parametry adnotacji konfigurujących wartoĞci slug .................................................... 280 Rozdziaä 23. Zachowanie timestampable ......................................................... 281 Przykáad 23.1. Wyrazy — test zachowania timestampable ......................................... 282 ROZWIĄZANIE ................................................................................................... 282 Rozdziaä 24. Zachowanie translatable ............................................................. 283 Wstawianie táumaczeĔ do bazy danych ....................................................................... 284 Odczytywanie táumaczeĔ ............................................................................................ 286 Przykáad 24.1. Kolory — test zachowania timestampable .......................................... 286 ROZWIĄZANIE ................................................................................................... 287 Rozdziaä 25. Podsumowanie czöĈci V .............................................................. 293 CzöĈè VI Szczegóäowe dane rekordu .......................................... 295 Rozdziaä 26. Akcja show ................................................................................. 297 Adresy URL zawierające zmienne .............................................................................. 297 Konwersja wejĞciowa ............................................................................................ 298 Konwersja wyjĞciowa ........................................................................................... 298 Wyszukiwanie pojedynczego rekordu na podstawie klucza gáównego ....................... 298 WyĞwietlanie wáaĞciwoĞci rekordu ............................................................................. 299 Przykáad 26.1. Piosenki wojskowe .............................................................................. 299 ROZWIĄZANIE ................................................................................................... 300 Rozdziaä 27. Identyfikacja rekordu na podstawie wartoĈci slug ........................ 307 Przykáad 27.1. Piosenki wojskowe — uĪycie identyfikatorów slug ............................ 308 ROZWIĄZANIE ................................................................................................... 308 Rozdziaä 28. Generowanie menu na podstawie zawartoĈci bazy danych ............ 311 Przykáad 28.1. Treny ................................................................................................... 311 ROZWIĄZANIE ................................................................................................... 312 Rozdziaä 29. Udostöpnianie plików binarnych ................................................... 319 Przykáad 29.1. Download — pliki zapisane w bazie danych ....................................... 320 ROZWIĄZANIE ................................................................................................... 320 Przykáad 29.2. Download — pliki pobierane z folderu ............................................... 325 ROZWIĄZANIE ................................................................................................... 325 Rozdziaä 30. Podsumowanie czöĈci VI ............................................................. 327 8 Symfony 2 od podstaw CzöĈè VII Relacje ...................................................................... 329 Rozdziaä 31. Relacje 1:1 ................................................................................. 331 Klucze obce o wartoĞci NULL .................................................................................... 332 UĪycie relacji 1:1 w Symfony 2 .................................................................................. 332 Operowanie rekordami powiązanymi relacją .............................................................. 334 Tworzenie rekordów ............................................................................................. 334 Rekord zaleĪny ...................................................................................................... 335 Przykáad 31.1. Dane uĪytkowników ............................................................................ 335 ROZWIĄZANIE ................................................................................................... 335 Akcje referencyjne SQL .............................................................................................. 338 Programowe akcje referencyjne Doctrine 2.1 .............................................................. 339 Parametr cascade ................................................................................................... 339 Parametr orphanRemoval ...................................................................................... 340 Relacje jednokierunkowe i dwukierunkowe ................................................................ 340 Synchronizacja obiektów z bazą danych ........................................................................ 342 Rozdziaä 32. Relacje 1:n (jeden do wielu) ........................................................ 345 Klucze obce o wartoĞci NULL .................................................................................... 346 UĪycie relacji 1:n w Symfony 2 .................................................................................. 346 WáaĞciciel relacji 1:n ................................................................................................... 349 Operowanie rekordami powiązanymi relacją .............................................................. 349 Tworzenie rekordów ............................................................................................. 349 Rekordy zaleĪne .................................................................................................... 350 Rekord nadrzĊdny ................................................................................................. 351 Synchronizacja relacji ................................................................................................. 351 Akcje referencyjne ...................................................................................................... 352 Akcje SQL-owe ..................................................................................................... 352 Akcje Doctrine ...................................................................................................... 352 Przykáad 32.1. Kontynent i paĔstwa ............................................................................ 353 ROZWIĄZANIE ................................................................................................... 353 Porządkowanie rekordów ............................................................................................ 357 Rozdziaä 33. Relacje n:m (wiele do wielu) ........................................................ 359 UĪycie relacji n:m w Symfony 2 ................................................................................. 360 WáaĞciciel relacji n:m .................................................................................................. 361 Tabela áącząca relacji n:m ........................................................................................... 362 Operowanie rekordami powiązanymi relacją .............................................................. 362 Tworzenie rekordów ............................................................................................. 362 Rekordy zaleĪne .................................................................................................... 363 Synchronizacja relacji ........................................................................................... 364 Usuwanie powiązania relacyjnego ........................................................................ 364 Akcje referencyjne SQL .............................................................................................. 365 Akcje SQL-owe ..................................................................................................... 365 Przykáad 33.1. Filmy i aktorzy .................................................................................... 365 ROZWIĄZANIE ................................................................................................... 365 Porządkowanie rekordów ............................................................................................ 370 Rozdziaä 34. Relacje, akcje index i show oraz widoki czöĈciowe ....................... 373 Przykáad 34.1. Kontynenty/PaĔstwa — akcje show i widoki czĊĞciowe ..................... 375 Przykáad 34.2. Filmy/Aktorzy — akcje show i widoki czĊĞciowe .............................. 376 Przykáad 34.3. PowieĞci Agaty Christie ...................................................................... 376 ROZWIĄZANIE ................................................................................................... 377 Spis treĈci 9 Rozdziaä 35. Podsumowanie czöĈci VII ............................................................ 385 CzöĈè VIII Panele CRUD i zabezpieczanie dostöpu do aplikacji .... 387 Rozdziaä 36. Generowanie paneli administracyjnych CRUD ............................... 389 Adresy URL akcji CRUD ..................................................................................... 391 Ponowne generowanie paneli CRUD .......................................................................... 394 Panele CRUD a relacje ................................................................................................ 394 Przykáad 36.1. Imiona — panel CRUD ....................................................................... 394 ROZWIĄZANIE ................................................................................................... 395 Przykáad 36.2. Panel CRUD i relacja 1:1 .................................................................... 396 ROZWIĄZANIE ................................................................................................... 396 Przykáad 36.3. Panel CRUD i relacja 1:n .................................................................... 399 ROZWIĄZANIE ................................................................................................... 399 Przykáad 36.4. Panel CRUD i relacja n:m ...................................................................... 401 ROZWIĄZANIE ................................................................................................... 401 Rozdziaä 37. Instalacja pakietu FOSUserBundle ............................................... 403 Przykáad 37.1. Przygotowanie dystrybucji symfony2-customized-v4 zawierającej pakiet FOSUserBundle ......................................................................... 403 ROZWIĄZANIE ................................................................................................... 403 Tworzenie kont i nadawanie uprawnieĔ ...................................................................... 408 Tworzenie kont ..................................................................................................... 409 Aktywacja i deaktywacja konta ............................................................................. 409 Nadawanie i usuwanie uprawnieĔ administracyjnych ........................................... 409 Przykáad 37.2. Sprawdzenie dziaáania dystrybucji symfony2-customized-v4 ............. 410 ROZWIĄZANIE ................................................................................................... 410 Rozdziaä 38. Aplikacja dostöpna wyäñcznie dla zdefiniowanych uĔytkowników ...... 415 Uprawnienia dostĊpu ................................................................................................... 415 Role uĪytkowników ..................................................................................................... 416 Nadawanie, usuwanie i sprawdzanie uprawnieĔ uĪytkownikom ................................. 417 Przykáad 38.1. Korona ziemi ....................................................................................... 419 ROZWIĄZANIE ................................................................................................... 420 Hierarchia ról .............................................................................................................. 427 Rozdziaä 39. Aplikacja dostöpna publicznie w trybie do odczytu ........................ 429 Przykáad 39.1. Korona ziemi — podziaá na frontend oraz backend ............................ 429 ROZWIĄZANIE ................................................................................................... 430 Przekierowania ............................................................................................................ 432 Osadzanie formularza do logowania na stronie gáównej ............................................. 434 Przykáad 39.2. Korona ziemi — osadzenie formularza do logowania w pliku base.html.twig ........................................................................................................... 435 ROZWIĄZANIE ................................................................................................... 435 Rozdziaä 40. Rejestracja uĔytkowników i odzyskiwanie hasäa ........................... 439 Przykáad 40.1. Kontynenty/paĔstwa — frontend i backend ........................................ 439 ROZWIĄZANIE ................................................................................................... 439 Przykáad 40.2. Kontynenty/paĔstwa — rejestracja uĪytkowników ............................. 442 ROZWIĄZANIE ................................................................................................... 442 Przykáad 40.3. Kontynenty/paĔstwa — odzyskiwanie hasáa ....................................... 444 ROZWIĄZANIE ................................................................................................... 444 Rozdziaä 41. Podsumowanie czöĈci VIII ........................................................... 447 10 Symfony 2 od podstaw CzöĈè IX Panele administracyjne Sonata ................................... 449 Rozdziaä 42. Instalacja pakietów Sonata .............................................................. 451 Przykáad 42.1. Przygotowanie dystrybucji symfony2-customized-v5 zawierającej pakiet SonataAdminBundle .................................................................. 451 ROZWIĄZANIE ................................................................................................... 452 Krok 1. Wypakuj dystrybucjĊ Symfony 2.0.X without vendors ............................ 452 Krok 2. Zmodyfikuj plik deps ............................................................................... 452 Krok 3. Pobierz pakiety ......................................................................................... 453 Krok 4. UsuĔ foldery .git ...................................................................................... 453 Krok 5. Zarejestruj przestrzenie nazw ................................................................... 453 Krok 6. Zarejestruj pakiety .................................................................................... 454 Krok 7. Zmodyfikuj konfiguracjĊ projektu ........................................................... 454 Krok 8. Zmodyfikuj zabezpieczenia projektu ....................................................... 455 Krok 9. Utwórz pakiet Application/Sonata/UserBundle ....................................... 457 Krok 10. Zmodyfikuj reguáy routingu ................................................................... 457 Krok 11. Zainstaluj style CSS oraz ikony ............................................................. 458 Krok 12. Skompresuj otrzymaną dystrybucjĊ ....................................................... 458 Przykáad 42.2. SprawdĨ dziaáanie dystrybucji symfony2-customized-v5 ................... 458 ROZWIĄZANIE ................................................................................................... 459 Krok 1. Wypakuj dystrybucjĊ i skonfiguruj bazĊ danych ..................................... 459 Krok 2. Utwórz tabele w bazie danych ................................................................. 459 Krok 3. Utwórz konto administratora .................................................................... 459 Krok 4. SprawdĨ wygląd panelu administracyjnego ............................................. 459 Rozdziaä 43. UĔycie paneli administracyjnych Sonata do wäasnych tabel ............. 461 Przykáad 43.1. Miasta .................................................................................................. 461 ROZWIĄZANIE ................................................................................................... 462 Krok 1. Wypakuj dystrybucjĊ i skonfiguruj bazĊ danych ..................................... 462 Krok 2. Utwórz pakiet My/Frontend ..................................................................... 462 Krok 3. Utwórz klasĊ CityAdmin .......................................................................... 462 Krok 4. Wáącz panel administracyjny do zarządzania rekordami City .................. 463 Krok 5. Przygotuj plik zawierający táumaczenia ................................................... 464 Krok 6. SprawdĨ wygląd panelu administracyjnego do edycji miast .................... 464 Rozdziaä 44. Podsumowanie czöĈci IX ............................................................. 467 Przykáad 44.1. Przygotowanie dystrybucji symfony2-customized-v6 zawierającej omówione pakiety ................................................................................ 467 Przykáad 44.2. Rzeki: aplikacja z panelem Sonata ...................................................... 468 ROZWIĄZANIE ................................................................................................... 468 Krok 1. Poáącz przykáad 18. z dystrybucją symfony2-customized-v6.zip ............. 468 Krok 2. Wykonaj panel Sonata ............................................................................. 469 Przykáad 44.3. Kontynenty: aplikacja z panelem Sonata ............................................. 469 ROZWIĄZANIE ................................................................................................... 469 Przykáad 44.4. Filmy: aplikacja z panelem Sonata ...................................................... 470 Przykáad 44.5. PowieĞci Agaty Christie: aplikacja z panelem Sonata ......................... 470 Dodatek A Dodatki ..................................................................... 471 Instalacja oprogramowania .......................................................... 473 1. XAMPP ................................................................................................................... 473 2. Modyfikacja konfiguracji PHP ................................................................................ 475 3. Modyfikacja pakietu PEAR ..................................................................................... 476 4. Uaktualnienie biblioteki PEAR ............................................................................... 476 Spis treĈci 11 5. Code Sniffer ............................................................................................................ 477 6. phpDocumentor ....................................................................................................... 477 7. PHPUnit .................................................................................................................. 477 8. Cygwin .................................................................................................................... 478 9. ĝcieĪki dostĊpu ........................................................................................................ 480 10. GraphViz ............................................................................................................... 482 11. NetBeans ............................................................................................................... 482 Skorowidz ................................................................................... 483 12 Symfony 2 od podstaw Rozdziaä 43. UĔycie paneli administracyjnych Sonata do wäasnych tabel Panel administracyjny przedstawiony na rysunku 42.2 umoĪliwiaá zarządzanie rekordami tabel: fos_user_group fos_user_user fos_user_user_group Teraz zajmiemy siĊ dostosowaniem paneli w taki sposób, by umoĪliwiaáy edycjĊ rekor- dów z dowolnej tabeli, dla której jest dostĊpna klasa Entity. Przykäad 43.1. Miasta Wykonaj witrynĊ, która bĊdzie prezentowaáa dane dotyczące miast:  nazwĊ miasta,  populacjĊ. WitrynĊ wykonaj w taki sposób, by po odwiedzeniu adresu: .../web/ wyĞwietlane byáo zestawienie informacji o wszystkich miastach. Dane na stronie .../web/ mają byü dostĊpne w trybie do odczytu dla wszystkich odwiedzających ten adres. Ponadto pod adresem: .../web/admin/dashboard 462 CzöĈè IX i Panele administracyjne Sonata wykonaj panel administracyjny pozwalający na edycjĊ informacji o miastach. Panel ten ma byü dostĊpny wyáącznie po zalogowaniu na konto: Uľytkownik: admin Hasđo: password Wykorzystaj wykonaną w poprzednim rozdziale dystrybucjĊ symfony2-customized-v5.zip. ROZWIðZANIE Krok 1. Wypakuj dystrybucjö i skonfiguruj bazö danych Utwórz bazĊ danych o nazwie cities oraz konto dostĊpu do bazy editor zabezpieczone hasáem secretPASSWORD. NastĊpnie wypakuj archiwum symfony2-customized-v5.zip, po czym w pliku app/config/parameters.ini wprowadĨ dane dostĊpu do bazy danych cities. Krok 2. Utwórz pakiet My/Frontend Analogicznie jak w przykáadzie z rozdziaáu 18. wykonaj pakiet My/Frontend. W pakiecie tym ma siĊ znajdowaü jedna klasa Entity o nazwie City. W klasie City utwórz dwie wáaĞciwoĞci:  name — typu string o dáugoĞci 255 znaków;  population — typu integer. Wykonaj kontroler oraz skonfiguruj routing w taki sposób, by po odwiedzeniu strony: .../web/ wyĞwietlane byáo zestawienie wszystkich rekordów z tabeli city. W przykáadzie tym nie wykonuj fikstur — wypeánianie bazy wykonamy, wykorzystując panel administracyjny. Krok 3. Utwórz klasö CityAdmin W folderze My/FrontendBundle/Admin utwórz plik CityAdmin.php zawierający klasĊ przedstawioną na listingu 43.1. Klasa ta konfiguruje panel administracyjny do zarzą- dzania rekordami z tabeli city. Listing 43.1. Klasa My/FrontendBundle/Admin/CityAdmin.php ?php namespace My\FrontendBundle\Admin; use Sonata\AdminBundle\Admin\Admin; use Sonata\AdminBundle\Datagrid\ListMapper; use Sonata\AdminBundle\Datagrid\DatagridMapper; use Sonata\AdminBundle\Validator\ErrorElement; Rozdziaä 43. i UĔycie paneli administracyjnych Sonata do wäasnych tabel 463 use Sonata\AdminBundle\Form\FormMapper; class CityAdmin extends Admin { protected function configureFormFields(FormMapper $formMapper) { $formMapper - add( name ) - add( population , number ) ; } protected function configureDatagridFilters(DatagridMapper $datagridMapper) { $datagridMapper - add( name ) ; } protected function configureListFields(ListMapper $listMapper) { $listMapper - addIdentifier( name ) - add( population , number ) ; } } Krok 4. Wäñcz panel administracyjny do zarzñdzania rekordami City Utwórz plik My/FrontendBundle/Resources/config/services.xml, o zawartoĞci takiej jak na listingu 43.2. Listing 43.2. Plik My/FrontendBundle/Resources/config/services.xml ?xml version= 1.0 ? container xmlns= http://symfony.com/schema/dic/services xmlns:xsi= http://www.w3.org/2001/XMLSchema-instance xsi:schemaLocation= http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd services service id= sonata.admin.city class= My\FrontendBundle\Admin\CityAdmin tag name= sonata.admin manager_type= orm group= Dane label= Miasta / argument / argument My\FrontendBundle\Entity\City /argument argument SonataAdminBundle:CRUD /argument call method= setTranslationDomain argument MyFrontendBundle /argument /call 464 CzöĈè IX i Panele administracyjne Sonata /service /services /container Krok 5. Przygotuj plik zawierajñcy täumaczenia Utwórz plik My/FrontendBundle/Resources/translations/MyFrontendBundle.pl.xliff, o zawartoĞci takiej jak na listingu 43.3. Listing 43.3. Plik My/FrontendBundle/Resources/translations/MyFrontendBundle.pl.xliff ?xml version= 1.0 ? xliff version= 1.2 xmlns= urn:oasis:names:tc:xliff:document:1.2 file source-language= en datatype= plaintext original= body trans-unit id= 1 source Dashboard /source target Pulpit /target /trans-unit trans-unit id= 2 source Name /source target Nazwa /target /trans-unit trans-unit id= 3 source Population /source target Populacja /target /trans-unit trans-unit id= 4 source City List /source target Lista miast /target /trans-unit trans-unit id= 5 source City Edit /source target Edytuj miasto /target /trans-unit trans-unit id= 6 source City Delete /source target Usuē miasto /target /trans-unit /body /file /xliff Krok 6. SprawdĒ wyglñd panelu administracyjnego do edycji miast Po odwiedzeniu adresu: .../web/admin/washboard i zalogowaniu na konto administratora ujrzysz panel przedstawiony na rysunku 43.1. Rozdziaä 43. i UĔycie paneli administracyjnych Sonata do wäasnych tabel 465 Rysunek 43.1. Panel administracyjny do zarządzania rekordami z tabeli city Menu wskazane strzaáką jest zdefiniowane wpisami: tag name= sonata.admin manager_type= orm group= Dane label= Miasta / z listingu 43.2. Táumaczenia, m.in.: Lista miast Populacja powstają natomiast na podstawie wpisów z listingu 43.3: trans-unit id= 3 source Population /source target Populacja /target /trans-unit trans-unit id= 4 source City List /source target Lista miast /target /trans-unit 466 CzöĈè IX i Panele administracyjne Sonata Skorowidz A adnotacja @Gedmo\Translatable, 284, 286 @ORM\Column, 238, 239 @ORM\Entity, 301 @ORM\JoinColumn, 339 @ORM\JoinTable, 362 @ORM\ManyToOne, 347 @ORM\OneToMany, 347 @ORM\OneToOne, 333, 340 @ORM\OrderBy, 358 @Route, 35, 68, 104, 125, 298, 391 @Table, 235, 238 @Template, 35, 114, 323 adres do akcji, 431 login, 431 login_check, 431 logout, 431 URL, 68, 297, 391 adresy slug, 470 akcelerator APC, 22 akcja, action, 25 create, 391, 393 dataAction(), 130 delete, 391, 394 dolorAction(), 118 edit, 391, 393 index, 102, 231, 390 indexAction(), 126 ipsumAction(), 124 loremAction(), 118, 297 menuAction(), 200, 316 new, 391, 393 Novel/index, 383 referencyjna cascade, 339 Doctrine, 339 ON DELETE CASCADE, 338 sAction(), 126 show, 297, 304, 327, 373, 390 sitAction(), 118 update, 391, 393 akcje Doctrine, 352 kontrolera DefaultController, 322 referencyjne, referential actions, 338, 352 referencyjne SQL, 365 SQL-owe, 352 aktualizacja, ON UPDATE, 338 aktywacja konta, 409 analiza odpowiedzi HTTP, 127 Apache, 473 aplikacja ACME demo, 101 dostĊpna publicznie, 429 atak typu Cross Site Request Forger, 132 Cross Site Scripting, 132 automatyczne áadowanie klas, 212, 215 autoryzacja, 407 B backend, 439 baza danych, 222 achristie, 377 cities, 462 colors, 287 download, 320 filmy, 366 kontynenty, 353 koronaziemi, 420 mountains, 258 names, 222, 228 rivers, 244, 245 songs, 301 treny, 312 users, 335 biblioteka Doctrine 2.1, 265 DoctrineExtensions, 269, 273, 293 ORM Doctrine 2.1, 234 PEAR, 476 swiftmailer, 19 Twig, 111, 119 biblioteki ORM, 269 blokowanie dostĊpu do plików, 95 báąd, 20–22 403, 444 404, 83, 104 C cachowanie, 127 ciągi slug, 275 ciągi znaków, 140 D definiowanie adresu, 102 akcji referencyjnej, 339 relacji 1:n, 347 zmiennych, 144 deklaracja przestrzeni nazewniczej, 42 DETACHED, 241 Doctrine 2.1, 339 dodawanie pakietu, 209, 212, 214 dokumentacja Doctrine 2, 235 domena projektu, 96 wirtualna, 94 dostĊp do aplikacji, 421 bazy danych, 258 rekordów, 234 tabeli, 236 dwukierunkowa relacja 1:n, 354 n:m, 366 dwukropki, 60 dystrybucja Symfony 2.0, 17, 217 symfony2-customized-v6.zip, 467 484 Symfony 2 od podstaw dystrybucja with vendors, 17, 23, 101 without vendors, 17, 23, 44 dziedziczenie, 175 E etykiety formularza, 395 F fikstur, fixtures, 212 filtr escape, 133 keys, 149 nl2br, 212 truncate, 212 wordwrap, 212 filtry, filters, 169 Twig, 181 folder app, 18 bin, 18 bundles, 48 cache, 20 css, 48 doc, 32 Entity, 234, 252 js, 48 mylake, 56 public, 32 public_html, 98 src, 18 Symfony, 21 tatras, 53 translations, 32 vendor, 17, 18, 210 web, 19 views, 60 folder zawierający projekt, 211 foldery .git, 214 format konfiguracji pakietu, 44 PHP, 46 XML, 45 YAML, 45 formularz, 395 logowania, 424, 433, 437, 440 rejestracyjny, 442 formularze edycyjne, 397 frontend, 439 funkcja array_shift(), 314 asset(), 47, 63 base64_decode(), 320 base64_encode(), 320 basename(), 314, 321 extends, 60 file_get_contents(), 321 finfo_file(), 321 htmlspecialchars(), 132 menuAction(), 201 parent(), 177 path(), 68, 191 showAction(), 188 shuffle(), 313 str_replace(), 314 funkcje, functions, 169 konwertujące dane, 319 Twig, 184 G generowanie báĊdów, 92 identyfikatorów slug, 276, 277 klasy dostĊpu, 245, 258 menu, 311 paneli CRUD, 394 panelu administracyjnego, 390 H hasáo dostĊpu do serwera, 100 hierarchia ról, 427 I identyfikator slug, 275, 308, 379 instalacja biblioteki, 270 oprogramowania, 473 pakietów Sonata, 452 pakietu FOSUserBundle, 403 programu curl, 479 git, 479 openssh, 479 rsync, 478 instrukcja, 137 { raw }, 120 { block }, 120 { extends }, 120 { set }, 144 {{ }}, 121, 132, 137 for, 147 if, 148, 150 namespace, 43 use, 43, 243 K kaskadowoĞü operacji zapisu, 398 klasa Aktor, 366 AuthenticatedVoter, 417 CityAdmin, 462 Color, 284, 288 Detective, 378 Dolor, 234 Entity, 240, 299 EntityManager., 240 File.php, 325 Film, 366 formularza, 397 Lorem.php, 237 LoremRepository, 252 Method, 379 MountainRepository, 259 Name, 392 Name.php, 226 NameController, 391 Novel, 378, 379 odwrotna relacji, inverse side, 342, 361, 385 Profil, 341 Repository, 379 ResponseHeaderBag, 125 River.php, 245 RiverAdmin.php, 469 Sit, 26 Song, 301 SongRepository, 301 TrenRepository, 312 User, 341 UserType, 398 Word, 278 klasy klucz kod dostĊpu do bazy danych, 234, 236 Entity, 251 Repository, 251 gáówny, 285 obcy, foreign key, 331, 345 obcy o wartoĞci NULL, 332, 346 akcji index, 230, 248, 261, 290, 303, 337 akcji show, 304, 310 menu, 310 SQL, 223 kodowanie, 477 kodowanie znaków utf8, 223 kolory RGB, 164 komenda find, 211 komenda rm, 211 kompresowanie folderu, 216 komunikat Zaloguj, 424 konfiguracja identyfikatorów slug, 280 konta pocztowego, 444 routingu, 45 zabezpieczeĔ, 406 zachowaĔ, 270 konfigurowanie pakietu, 217 PHP, 475 konsola bash, 271 konto administratora, 411, 458 konto dostĊpu do aplikacji, 422 do bazy, 462 pocztowe, 444 Skorowidz 485 kontroler, controller, 25, 27 Aktor, 369 app.php, 40 app_dev.php, 40 BramaController, 74 DefaultController, 35 Film, 368 Kontynent, 355 LoremController, 67 MountainController, 421 Novel, 381 Panstwo, 356 WiezaController, 74 ZamekController, 74 konwersja wejĞciowa, 298 wyjĞciowa, 298 konwertowanie znaków, 132 kopiowanie zasobów, 103 L, ã layout, 57 liczby, 140 lista aktorów, 376 filmów, 376 hiperáączy, 373 kontynentów, 375 paĔstw, 375 znaczników, 170 localhost, 105 logiczne nazwy kontrolerów, 227 modeli, 227 widoków, 227 logowanie, 424 áadowanie pakietów, 217 M makrodefinicja autolink, 171 str, 172 MANAGED, 241 metoda __toString(), 255, 299, 469 addFilm(), 362, 364 addPanstwo(), 349 createNotFoundException(), 189 dataAction(), 131 detach(), 242 dolorAction(), 114, 115 find(), 252 findAll(), 242, 253, 256, 316 findBy(), 253 findByX(), 254 findOneBy(), 254 findOneBySlug(), 307 findOneByX(), 255 flush(), 241 fromArray (), 256 get(), 227, 237 getAktorzy(), 363 getAll(), 243 getContents(), 325 getFilmy(), 363 getId(), 237 getIpsum(), 237 getKontynent(), 351 getLength(), 246 getPanstwa(), 350 getProfil(), 335 getSlug(), 276 godzinaAction(), 131 indexAction(), 35, 122, 125, 199, 229, 290 menuAction(), 201 persist(), 241, 242 refresh(), 286 remove(), 242, 243 removeElement(), 364 render(), 116, 124 set(), 124, 227, 237 setContents(), 325 setIpsum(), 237 setKontynent(), 349 setLength(), 246 setSlug(), 276 setTranslatableLocale(), 283–286 setUser(), 343 showAction(), 187, 199 metody klasy Kontynent, 347 Panstwo, 348 Repository, 252 User, 333 model Detective, 376 Method, 377 MyFrontendBundle:File, 320 MyBackendBundle:Mountain, 420 MyFrontendBundle:Name, 390 Novel, 376 modyfikacja konfiguracji projektu, 272 modyfikowanie nagáówków, 124 pakietu PEAR, 476 przekierowaĔ, 442 zabezpieczeĔ, 455 MySQL, 223, 473 N nadawanie uprawnieĔ, 408 nadpisywanie metod, 255, 256 widoków, 91, 113 zawartoĞci bloków, 177 nagáówek Content-Type, 125 narzĊdzie rsync, 97 nawiasy okrągáe, 143 nazwa logiczna widoku, 111, 114 nazwy skrócone, 44 nazwy widoków akcji, 114 NEW, 241 numer portu 40022, 99 O obiekt $entity, 299 Entity, 241 odwoáania do plików graficznych, 63 odzyskiwanie hasáa, 444 operacja create, 389 delete/destroy, 389 read/retrieve, 389 update, 389 operator is, 143 operatory arytmetyczne, 141 logiczne, 142 porównania, 141 specjalne, 142 oprogramowanie ORM, 19 PHPUnit, 477 osadzanie formularza, 434, 435 P pakiet, bundle, 25 Acme, 106 BackendBundle, 440 Code Sniffer, 477 Cygwin, 478 demo, 49 DoctrineExtensionsBundle, 27, 276 DoctrineFixturesBundle, 26, 215 DoctrineMigrationsBundle, 27 FOSCommentBundle, 27 FOSUserBundle, 27, 447 FrontendBundle, 430, 440 KnpMarkdownBundle, 26 KnpPaginatorBundle, 26 LoremBundle, 79 My/AnimalsBundle, 86 My/FraszkaBundle, 69 My/Frontend, 462 My/FrontendBundle, 257, 440 My/HelloworldBundle, 29 My/LakeBundle, 54 My/MultiplicationBundle, 157 My/NovelBundle, 198 My/PoemBundle, 61 MyHelloworldBundle, 34 PEAR, 476 486 Symfony 2 od podstaw pakiet, bundle phpDocumentor, 477 rsync, 478 SonataAdminBundle, 27, 451 SonataPageBundle, 27 StofDoctrineExtensionsBundle, 270–272, 293 symfony2-customized-v1.zip, 106 symfony2-customized-v2.zip, 212 UserBundle, 457 valley, 50 XAMPP, 473 zabytek, 74 pakiety do przetwarzania plików, 212 komunikacyjne, 319 Sonata, 451 Symfony 2, 209, 218 pamiĊü podrĊczna, cache, 127, 425 panel administracyjny, 459, 461, 463 CRUD, 389, 394–396, 420, 430 XAMPP, 474 panel Sonata, 469 parametr 00index.log, 197 app.php, 19, 40 app_dev.php, 19, 40 AppKernel.php, 32, 40, 271, autoload.php, 215, 271, 453 base.html.twig, 195, 212, 432, 453, 457 436, 441 BramaController.php, 74 Color.php, 288 config.yml, 192, 272, 407 config.php, 19 config_prod.yml, 41 Controller.php, 37 CSS, 203 dedykacja.txt, 311 DefaultController.php, 34, 40, 61, 70, 86, 117, 131, 135, 152, 155, 158 deps, 210, 270 deps.lock, 210 $culture, 290 cascade, 339 layout.login, 424 nullable, 333, 348 orphanRemoval, 340 path, 415 repositoryClass, 251 role, 416 pasek narzĊdzi developerskich, 37 Web Debug Toolbar, 39 pĊtla { for }, 150, 201 for, 292 PHP, 473 plik dogoscia.html.twig, 71 error.html.twig, 84, 85 error404.html.twig, 85, 88 error500.html.twig, 85 filmy.xml, 365 FOSUserBundle.pl.yml, 424 imiona.txt, 221 index.html.twig, 40, 316 ipsum.txt.twig, 124 jada-jada-misie.txt, 185 Kernel.php, 32 kolory.yml, 286 KontynentAdmin.php, 469 kontynenty.xml,, 353 korona-ziemi.txt, 151 layout.html, 58 layout.html.twig, 59, 311 LoadData.php, 247, 260, 279, 288, 302, 313, 321, 336, 354, 367, 380 LoremController.php, 67 menu.html.twig, 201, 317 Mountain.php, 259 mountains.xml, 257 MyFrontendBundle.pl.xliff, 464 Name.php, 389 PanstwoAdmin.php, 469 parameters.ini, 227, 233, 244, 258 php.ini, 98 ProfilType.php, 397 properties.ini, 410 rivers.yml, 243 routing.yml, 33, 69, 289, 407, 431 routing_dev.yml, 40 rsync_exclude.txt, 99 rsync-production.bat, 98 schema.yml, 235 security.yml, 406, 415, 423, 455 services.xml, 463 show.html.twig, 316 Sit.php, 26 songs.yml, 299 style.css, 85 Symfony_Standard_2.0.x.zip, 17 Symfony_Standard_Vendors_ 2.0.X.zip, 17, 18, 28, 53 tekst.html, 58 tworzenie-pustej-bazy- danych.bat, 223 tworzenie-pustej-bazy- danych.sql, 244 users.xml, 335 WiezaController.php, 74 Word.php, 278 ZamekController.php, 74 zawierający táumaczenia, 464 pliki .htaccess, 31, 95 .twig, 127 deps, 210 deps.lock, 210 hosts, 94 z trenami, 312 pobieranie pakietów, 211, 214, 271 rekordów, 243 Symfony 2, 213 podziaá uprawnieĔ, 429 podziaá widoków, 195, 198 polecenia modyfikujące plik, 476 polecenie deny from all, 31 generate:bundle, 31, 42, 102 rsync, 98 poáączenie z bazą danych, 227, 258 powiązanie tabel relacją 1:1, 332 priorytet operatorów, 143 program GraphViz, 482 instalacyjny, 473 NetBeans, 482 phpMyAdmin, 224 projekt Sonata, 451, 457 protokóá SSH, 99 przedrostek ROLE_, 416 przekazywanie danych, 130 przekazywanie do widoku obiektów, 139 tablic, 138 przekierowanie, 432 przeáadowanie uprawnieĔ, 223 przestrzeĔ nazewnicza Gedmo, 271 Stof, 271 przestrzeĔ nazw, namespace, 25 przetwarzanie widoków, 111 przykáad bezpieczna paleta kolorów, 163 dane uĪytkowników, 335 data i godzina, 130 Dolina PiĊciu Stawów Polskich, 53 download, 320, 325 Dwa kabele, 60 dziaáanie dystrybucji, 458 dzieáa literatury Ğwiatowej, 155 filmy, 470 filmy i aktorzy, 365 Fraszki, 69 gady, 86, 93, 95, 97 Hello, world!, 28 imiona, 221, 394 kolory, 286 kontynent i paĔstwa, 353 kontynenty, 469 kontynenty/paĔstwa, 375, 439, 442, 444 korona ziemi, 151, 419, 429, 435 miasta, 461 opowiadania Edgara Allana Poe, 197 panel CRUD, 396, 401 piosenki Skorowidz 487 S, ć T tabea profil, 331 tabela dla dzieci, 77 dzieciĊce, 185 wojskowe, 299, 308 powieĞci Agaty Christie, 376, 470 przygotowanie dystrybucji, 212, 270, 451, 467 Pusta Dolinka, 49 rzeki, 243, 468 sprawdzenie dziaáania dystrybucji, 410 tabela potĊg, 161 tabliczka mnoĪenia, 157 Tatry, 257 treny, 311 wyrazy, 277, 282 zabezpieczanie zmiennych, 134 zabytki Lublina, 72 publikowanie projektu, 105 R reguáa @Template(), 115 konfiguracyjna autoescape, 133 translacji adresu, 289 wáączająca adres, 81 reguáy routingu, 34, 422, 437, 457 rejestracja pakietu, 212, 215, 271, 453 przestrzeni nazw, 271, 453 uĪytkownika, 439, 442 rekord relacja nadrzĊdny, 351 zaleĪny, 335, 350, 363 1:1, 331, 336 1:n, 345, 378, 399 dwukierunkowa, bidirectional, 340 jednokierunkowa, unidirectional, 340 n:m, 359, 361, 379, 401 REMOVED, 241 rola IS_AUTHENTICATED_ANON YMOUSLY, 416, 417 ROLE_SUPER_ADMIN, 417 role uĪytkowników, 416 routing, 104 rozszerzanie funkcjonalnoĞci modelu, 312 .html.twig, 28 .twig, 119 DoctrineExtensions, 308 DoctrineFixturesBundle, 222 podwójne .html.twig, 112, 123 serializacja, 418 serwer Apache, 22 hostingowy, 93, 319 Light Hosting, 97 MySQL, 223, 319 NetArt, 95 wirtualny reguáy konfigurujące, 94 skórka, 248, 260, 302, 314, 356, 369, 384 skrypt app.php, 19, 23 app_dev.php, 19, 23 autoload.php, 212, 215 config.php, 19, 23, 101 rsync-production.bat, 99, 100 tworzenie-pustej-bazy- danych.sh, 223 sáowo kluczowe DEFAULT, 240 sortowanie rekordów, 313, 358, 370 tekstów, 223 SQL, 223, 240 stan DETACHED, 241 MANAGED, 241 NEW, 241 REMOVED, 241 stany obiektu Entity, 241 strona báĊdu 404, 85 strona gáówna, 356 strona rejestracji, 446 struktura pakietu, 31 synchronizacja relacji, 351, 364 synchronizowanie obiektów z bazą danych, 342 system szablonów, 19 szablon base.html.twig, 174, 176, 436, index.html.twig, 36 layout.html.twig, 61, 70, 75, 87, 440 103 menu.html.twig, 201 PHP, 206 witryny, 57, 432 szablony báĊdów, 85 ĞcieĪki prowadzące do pakietu Cygwin, 480 do PHP, 480 Ğrodowisko deweloperskie, 40 produkcyjne, 40, 127 aktor, 359, 366 docelowa, 331, 345 ext_translations, 285 file, 320, 325 film, 359, 366 film_aktor, 366 fos_user, 410 kontynent, 345, 354 áącząca relacje, 359 áącząca relacji n:m, 362 mountain, 260 name, 225, 228 panstwo, 345, 354 profil, 336 river, 245 song, 301, 309 tren, 312 user, 331, 336 word, 279, 282 Ĩródáowa relacji, 331, 345 tabele dodatkowe, 272 tabelka hiperáączy, 382 tablica, 138 $data, 229 $menuData, 200 $t, 314 menuData, 201 asocjacyjne, 140 indeksowane, 140 tablice termin backend, 429 frontend, 429 táumaczenie, 284, 414, 464 translacja adresu, 289 Twig, 111 drukowanie znaczników, 121 filtry, 169, 181 funkcje, 169, 184 instrukcje sterujące, 120 komentarze, 120 komentarze wielowierszowe, 120 operatory, 141 wyraĪenia, 140 znaczniki, 121, 169 tworzenie akcji, 65 bazy danych, 222, 233 kont, 409 konta administratora, 458 kontrolerów, 67 pakietów, 29, 42, 67 projektu, 28 rekordów, 242, 334, 349, 362 tabel, 228, 235 Symfony 2 od podstaw znacznik, tag, 169 { block }, 177 { extends }, 178 { include }, 385 { render }, 201 {{ }}, 130, 139 autoescape, 134,
Pobierz darmowy fragment (pdf)

Gdzie kupić całą publikację:

Symfony 2 od podstaw
Autor:

Opinie na temat publikacji:


Inne popularne pozycje z tej kategorii:


Czytaj również:


Prowadzisz stronę lub blog? Wstaw link do fragmentu tej książki i współpracuj z Cyfroteką: