Listing 1.1.
Zawartość pliku hello-world/config/properties.ini
Listing 1.2.
Plik actions.class.php modułu glowny
Listing 1.3.
Plik powitanieSuccess.php
Listing 1.4.
Zestawienie poleceń wydanych w trakcie wykonywania...
Rysunek 1.1.
Foldery utworzone po wydaniu polecenia symfony...
Rysunek 1.2.
Foldery i pliki tworzone po wydaniu polecenia symfony...
Rysunek 1.3.
Projekt hello-world po utworzeniu aplikacji frontend
Rysunek 1.4.
Pliki i foldery modułu glowny
Rysunek 1.5.
Pliki tworzące moduł glowny po utworzeniu akcji powitanie...
Rysunek 1.6.
W celu uruchomienia przykładu w przeglądarce trzeba...
Rysunek 1.7.
Projekt lorem, aplikacje ipsum i dolor oraz moduły...
Rysunek 1.8.
Jeśli użyjesz adresu zawierającego nazwę skryptu...
Rysunek 1.9.
Aplikacje odwiedzane w środowisku deweloperskim zawierają...
Rysunek 1.10.
Pasek narzędzi Debug Toolbar ozdobiony ikonami
Rysunek 1.11.
Strona z rysunku 1.3 po dodaniu folderu /web/sf/ i...
Listing 2.1.
Plik actions.class.php modułu glowny w projekcie...
Listing 2.2.
Plik powitanieSuccess.php
Listing 2.3.
Plik apps/frontend/config/view.yml pozwala na...
Listing 2.4.
Zawartość pliku routing.yml
Rysunek 2.1.
Pierwszy krok tworzenia nowego projektu
Rysunek 2.2.
Ustalanie nazwy i folderu projektu
Rysunek 2.3.
Ustalamy sposób uruchamiania projektu
Rysunek 2.4.
Zaznaczamy, że projekt wykorzystuje Symfony
Rysunek 2.5.
Przycisk Run Project (skrót F6), który uruchamia projekt...
Rysunek 2.6.
Nowy projekt Symfony utworzony w NetBeans
Rysunek 2.7.
Pliki i foldery powstałe po utworzeniu nowego projektu...
Rysunek 2.8.
Uruchamianie okna dialogowego Run Command w projekcie...
Rysunek 2.9.
Okno dialogowe Run Symfony Command po wprowadzeniu...
Rysunek 2.10.
Okno ułatwiające nawigację wśród folderów i plików...
Rysunek 2.11.
Witryna Witaj w NetBeans!
Rysunek 2.12.
Przycisk służący do ponownego wykonania komendy oraz...
Listing 3.1.
Plik actions.class.php modułu wierszyk w projekcie...
Listing 3.2.
Fragment pliku pokazSuccess.php
Listing 3.3.
Domyślny tytuł stron aplikacji frontend ustalamy w pliku...
Listing 3.4.
Zawartość pliku routing.yml
Listing 3.5.
Domyślny szablon layout.php aplikacji frontend
Listing 3.6.
Szablon index.html, którego chcemy użyć w projekcie...
Listing 3.7.
Szablon layout.php, który spowoduje, że strona z wierszem...
Rysunek 3.1.
Witryna z wierszem pt. Dwa kabele
Rysunek 3.2.
Witryna z wierszem pt. Dwa kabele przed zmodyfikowaniem...
Rysunek 3.3.
Podgląd wydruku witryny z rysunku 3.1
Listing 4.1.
Widok akcji animal/show zapisany w pliku showSuccess.php
Listing 4.2.
Szablon layout.php projektu zmija
Listing 4.3.
Plik view.yml przykładu 4.1
Listing 4.4.
Widok showSuccess.php zawiera funkcję pomocniczą...
Listing 4.5.
Źródło strony WWW generowanej przez projekt 4.1
Listing 4.6.
Kod XHTML generowany w projekcie 4.2 po przeniesieniu...
Rysunek 4.1.
Witryna prezentująca zdjęcie żmii
Rysunek 4.2.
Witryna pt. Żmija zygzakowata przed zmodyfikowaniem...
Listing 5.1.
Kod HTML statycznej strony do-goscia.html
Listing 5.2.
Widok akcji wiersz/dogoscia zapisany w pliku...
Listing 5.3.
Widok akcji wiersz/naswojeksiegi zapisany w pliku...
Listing 5.4.
Widok akcji wiersz/ozywocieludzkim zapisany w pliku...
Listing 5.5.
Szablon layout.php projektu fraszki
Listing 5.6.
Adresy URL zawarte w menu głównym generujemy, wywołując...
Listing 5.7.
Menu główne generowane przy domyślnych ustawieniach...
Listing 5.8.
Reguły translacji adresów URL w pliku routing.yml
Listing 5.9.
Menu główne generowanej strony WWW po zdefiniowaniu...
Listing 5.10.
Pliku routing.yml może zawierać dowolne adresy URL
Listing 5.11.
Menu główne generowanej strony WWW po zdefiniowaniu...
Listing 5.12.
Plik frontend/modules/wiersz/config/view.yml konfigurujący...
Rysunek 5.1.
Strona z listingu 5.1
Rysunek 5.2.
Strona akcji wiersz/dogoscia przed zmianą szablonu
Listing 6.1.
Kod HTML strony jaszczurka.html
Listing 6.2.
Plik actions.class.php modułu strony
Listing 6.3.
Widok akcji strony/jaszczurka zapisany w pliku...
Listing 6.4.
Szablon layout.php projektu gady
Listing 6.5.
Reguły translacji adresów URL w przykładzie gady
Listing 6.6.
Plik frontend/modules/wiersz/config/view.yml przykładu...
Listing 6.7.
Plik actions.class.php modułu strony po dodaniu akcji...
Listing 6.8.
Widok akcji strony/blad404 (plik blad404Success.php)
Listing 6.9.
Plik view.yml modułu strony
Listing 6.10.
Plik konfiguracyjny settings.yml aplikacji frontend
Rysunek 6.1.
Strona jaszczurka.html z przykładu 6.1
Rysunek 6.2.
Domyślna strona błędu 404 w środowisku produkcyjnym
Rysunek 6.3.
Domyślna strona błędu 404 w środowisku deweloperskim
Rysunek 6.4.
Rolę strony błędu 404 pełni akcja strony/blad404
Rysunek 6.5.
Po podaniu adresu /gady/web/abc wyświetlana witryna jest...
Listing 7.1.
Widok akcji strony/zamek
Listing 7.2.
Reguły translacji adresów URL w projekcie zabytki-lublina
Listing 7.3.
Szablon layout.php projektu zabytki-lublina
Listing 7.4.
Plik frontend/modules/wiersz/config/view.yml z przykładu...
Listing 7.5.
Plik konfiguracyjny settings.yml aplikacji frontend
Listing 7.6.
Plik ProjectConfiguration.class.php po zmodyfikowaniu...
Listing 7.7.
Plik .htaccess blokujący dostęp do wszystkich plików
Listing 7.8.
Plik /gady/web/.htaccess dla domeny...
Rysunek 7.1.
Witryna Zabytki Lublina
Rysunek 7.2.
Najważniejsze pliki tworzące projekt 7.1
Rysunek 7.3.
Zawartość pliku databases.yml jest dostępna protokołem...
Rysunek 7.4.
Witryna wyświetlana po zablokowaniu dostępu do wszystkich...
Rysunek 7.5.
Przekierowanie nowej domeny gady.twojadomena.nazwa.pl do...
Listing 9.1.
Skrypt SQL tworzący pustą bazę danych o nazwie rzeki...
Listing 9.2.
Plik wsadowy tworzenie-pustej-bazy-danych.bat
Listing 9.3.
Baza danych z rysunku 9.10 eksportowana do formatu Symfony...
Listing 9.4.
Zawartość pliku data/fixtures/fixtures.yml
Listing 9.5.
Kolejne kroki wykonania etapu trzeciego
Listing 9.6.
Plik actions.class.php po usunięciu zbędnych metod
Listing 9.7.
Plik indexSuccess.php
Rysunek 9.1.
Witryna pt Najdłuższe rzeki świata
Rysunek 9.2.
Sprawdzanie poprawności tworzenia pustej bazy danych o...
Rysunek 9.3.
Tworzenie nowego modelu w programie MySQL Workbench
Rysunek 9.4.
Ikona wskazana strzałką umożliwia zmianę nazwy...
Rysunek 9.5.
Okno dialogowe służące do zmiany nazwy projektowanej...
Rysunek 9.6.
Ikona Add Diagram
Rysunek 9.7.
Utworzenie nowej tabeli
Rysunek 9.8.
Zmieniamy nazwę tabeli i przechodzimy do zakładki...
Rysunek 9.9.
Autoinkrementacja klucza głównego
Rysunek 9.10.
Baza danych rzeki
Rysunek 9.11.
Ustalanie opcji --orm dla nowego projektu tworzonego w...
Rysunek 9.12.
Baza danych rzeki po wydaniu polecenia Symfony propel:build
Rysunek 9.13.
Aplikacja po poprawnym utworzeniu modułu rzeka
Rysunek 9.14.
Witryna z rysunku 9.13 po zastosowaniu skórki z folderu...
Rysunek 9.15.
Po wykonaniu etapu V moduł rzeka będzie zawierał dwa...
Rysunek 9.16.
Zestawienie plików modyfikowanych podczas wykonania...
Listing 10.1.
Skrypt SQL tworzący pustą bazę danych tatry
Listing 10.2.
Plik wsadowy tworzenie-pustej-bazy-danych.bat
Listing 10.3.
Baza danych z rysunku 10.2 eksportowana do formatu Symfony...
Listing 10.4.
Fragment pliku tatry.txt
Listing 10.5.
Plik fixtures.yml
Listing 10.6.
Kod YAML generowany przez skrypt z listingu 10.5 dla danych...
Listing 10.7.
Kolejne kroki wykonania projektu tatry
Listing 10.8.
Klasa Szczyt
Listing 10.9.
Klasa SzczytPeer
Listing 10.10.
W klasie Szczyt dodaj metodę __toString()
Listing 10.11.
Metoda doSelect() klasy SzczytPeer
Listing 10.12.
Widok indexSuccess.php z modułu szczyt
Rysunek 10.1.
Witryna pt. Tatry
Rysunek 10.2.
Tabela szczyt bazy danych tatry
Rysunek 10.3.
Aplikacja po poprawnym utworzeniu modułu rzeka
Rysunek 10.4.
Pliki i foldery generowane przez Propel dla bazy danych...
Rysunek 10.5.
Komunikat informujący o błędnie zamkniętym znaczniku...
Listing 11.1.
Baza danych z rysunku 11.2 eksportowana do formatu Symfony...
Listing 11.2.
Treść pliku lib/model/PiosenkaPeer.php
Listing 11.3.
Początkowe wiersze pliku...
Listing 11.4.
Sposób umieszczania napisów wielowierszowych w pliku YAML
Listing 11.5.
Klasa myString z pliku lib/myString.class.php
Listing 11.6.
Plik fixtures.yml
Listing 11.7.
Plik actions.class.php modułu piosenka
Listing 11.8.
Plik showSuccess.php — widok akcji piosenka/show
Listing 11.9.
Widok indexSuccess.php z modułu piosenka
Listing 11.10.
W elemencie title pliku layout.php umieszczamy slot
Listing 11.11.
Reguła ustalająca adresy stron z tekstami piosenek
Rysunek 11.1.
Strona główna witryny pt. Piosenki wojskowe
Rysunek 11.2.
Baza danych piosenki-wojskowe
Rysunek 11.3.
Modyfikacja liczby znaków kolumny typu VARCHAR
Listing 12.1.
Funkcje odpowiedzialne za odczytywanie oraz usuwanie...
Listing 12.2.
Funkcje z pliku slugs.inc.php
Listing 12.3.
Klasa myParser
Listing 12.4.
Baza danych z rysunku 12.2 eksportowana do formatu Symfony...
Listing 12.5.
Treść pliku lib/model/PiosenkaPeer.php
Listing 12.6.
Kod zadania Symfony propel:import-danych
Listing 12.7.
Metoda executeShow(), w której rekord identyfikujemy przy...
Listing 12.8.
Widok showSuccess.php
Listing 12.9.
Widok showSuccess.php, w którym użyto niezabezpieczonej...
Listing 12.10.
Widok akcji artykul/index
Listing 12.11.
Ustalanie domyślnego tytułu na podstawie wyniku funkcji...
Listing 12.12.
Reguła ustalająca adresy stron z tekstami piosenek
Listing 12.13.
Metoda executeIndex(), w której z tabeli artykul pobieramy...
Listing 12.14.
Widok akcji artykul/index dostosowany do metody...
Rysunek 12.1.
Strona główna witryny Artykuły na temat HTML i CSS
Rysunek 12.2.
Baza danych piosenki-wojskowe
Rysunek 12.3.
Definicja indeksu unique dla kolumny slug
Rysunek 12.4.
Odświeżanie komend dostępnych po utworzeniu nowego...
Rysunek 12.5.
Badanie zapytań SQL wykonywanych podczas odwiedzania...
Listing 13.1.
Baza danych z rysunku 13.1 eksportowana do formatu Symfony...
Listing 13.2.
Treść pliku lib/model/TrenPeer.php
Listing 13.3.
Fragment pliku propelImportdanychTask.class.php
Listing 13.4.
Plik actions.class.php modułu tren
Listing 13.5.
Reguły translacji adresów URL
Listing 13.6.
Plik components.class.php
Listing 13.7.
Plik _menu.php
Listing 13.8.
Fragment pliku layout.php
Listing 13.9.
Plik zrzut-bazy-danych.sql
Rysunek 13.1.
Strona główna witryny pt. Treny
Rysunek 13.2.
Baza danych treny
Rysunek 13.3.
Eksport bazy danych treny
Listing 14.1.
Baza danych pliki-do-pobrania w formacie Symfony YAML
Listing 14.2.
Fragment pliku propelImportdanychTask.class.php
Listing 14.3.
Metoda executeShow() modułu plik
Listing 14.4.
Widok akcji plik/show
Listing 14.5.
Reguła wyłączająca dekorowanie widoku akcji plik/show
Listing 14.6.
Plik modules/plik/templates/indexSuccess.php
Listing 14.7.
Reguły translacji adresów URL
Rysunek 14.1.
Witryna pt. Pliki do pobrania
Rysunek 14.2.
Baza danych pliki-do-pobrania
Rysunek 14.3.
Rekordy wstawione do tabeli plik
Listing 15.1.
Baza danych kontynenty w formacie Symfony YAML
Listing 15.2.
Fragment pliku propelImportdanychTask.class.php
Listing 15.3.
Widok akcji kontynent/show
Listing 15.4.
Reguły translacji adresów URL
Listing 15.5.
Menu główne zawarte w pliku layout.php
Listing 15.6.
Slot tytul wstawiamy w pliku layout.php
Listing 15.7.
W pliku kontynent/templates/showSuccess.php slot o nazwie...
Rysunek 15.1.
Narzędzie do tworzenia relacji 1:n
Rysunek 15.2.
Relacja łącząca tabele kontynent oraz panstwo jest...
Rysunek 15.3.
Witryna pt. Kontynenty/Państwa
Rysunek 15.4.
Baza danych kontynenty
Rysunek 15.5.
Liczba rekordów w poszczególnych tabelach bazy danych...
Listing 16.1.
Baza danych filmy w formacie Symfony YAML
Listing 16.2.
Fragment pliku propelImportdanychTask.class.php
Listing 16.3.
Reguły translacji adresów URL
Listing 16.4.
Menu główne zawarte w pliku layout.php
Listing 16.5.
Slot tytul wstawiamy w pliku layout.php
Listing 16.6.
W pliku film/templates/showSuccess.php slot o nazwie tytul...
Rysunek 16.1.
Narzędzie do tworzenia relacji n:m
Rysunek 16.2.
Połączenie tabel film i aktor relacją n:m jest...
Rysunek 16.3.
Witryna pt. Filmy/aktorzy
Listing 17.1.
Fragment pliku propelImportdanychTask.class.php
Listing 17.2.
Metoda klasy Czcionka zliczająca projekty, w których...
Listing 17.3.
Metoda klasy Projekt zliczająca czcionki wykorzystane w...
Listing 17.4.
Metoda klasy Rodzina zliczająca czcionki i projekty
Listing 17.5.
Metoda czcionkiProjektu() klasy Projekt
Listing 17.6.
Metoda projektyCzcionki() klasy Czcionka
Listing 17.7.
Widok częściowy projekt/lista
Listing 17.8.
W widoku akcji projekt/index wykorzystujemy widok...
Listing 17.9.
Widok akcji czcionka/show
Listing 17.10.
Widok częściowy czcionka/lista
Listing 17.11.
Widok akcji projekt/show
Listing 17.12.
Widok akcji rodzina/index
Listing 17.13.
Reguły translacji adresów URL
Listing 17.14.
Menu główne zawarte w pliku layout.php
Rysunek 17.1.
Witryna pt. Czcionki projektów CSS Zen Garden
Rysunek 17.2.
Baza danych zengardencss
Listing 18.1.
Początkowe wiersze pliku 1-struktura.txt
Listing 18.2.
Drzewko skrótów zdefiniowane w pliku 1-struktura.txt
Listing 18.3.
Wypełnianie tabel skroty, grupa i skrot
Listing 18.4.
Metoda executeMenu() komponentu menu/menu
Listing 18.5.
Widok komponentu menu/menu
Listing 18.6.
Metoda executeMenupionowe() komponentu menu/menupionowe
Listing 18.7.
Widok komponentu menu/menupionowe
Listing 18.8.
Reguły translacji adresów URL
Listing 18.9.
Zawartość pliku noth/config/databases.yml
Rysunek 18.1.
Witryna pt. NotH — edytor kodu XHTML/CSS
Rysunek 18.2.
Baza danych noth
Rysunek 18.3.
Tworzenie nowej bazy danych
Rysunek 18.4.
Dane nowo utworzonej bazy danych
Rysunek 18.5.
Z menu pionowego wybierz bazę danych gajdaw_13
Rysunek 18.6.
Import danych z pliku noth.sql
Rysunek 18.7.
Komunikat informujący o pomyślnym przebiegu operacji...
Rysunek 18.8.
Przekierowanie domeny noth.gajdaw.pl do folderu /noth/web/
Listing 20.1.
Widok indexSuccess.php akcji glowny/index
Listing 20.2.
Plik messages.pl.xml
Listing 20.3.
Plik layout.php
Rysunek 20.1.
Sprawdzenie wartości parametru culture
Rysunek 20.2.
Czyszczenie sesji przy użyciu rozszerzenia Web Developer...
Listing 21.1.
Widok akcji piosenka/index w aplikacji backend
Listing 21.2.
Hiperłącze generowane przez funkcję pomocniczą...
Listing 21.3.
Zmodyfikowany plik backend/lib/myUser.class.php
Listing 21.4.
Plik messages.pl.xml
Listing 21.5.
Widok signinSuccess.php
Listing 21.6.
Fragment widoku częściowego _form.php z modułu piosenka...
Listing 21.7.
Dostosowanie formularza edycyjnego rekordów z tabeli...
Listing 22.1.
Metoda setSlug() klasy Rozdzial
Listing 22.2.
Metoda getMaxNumerZadania() klasy Rozdzial
Listing 22.3.
Fragment pliku propelImportdanychTask.class.php
Listing 22.4.
Metoda akcji rozdzial/show
Listing 22.5.
Metoda akcji rozdzial/rozwiazanie
Listing 22.6.
Widok akcji rozdzial/show
Listing 22.7.
Widok akcji rozdzial/rozwiazanie
Listing 22.8.
Klasa rozdzialComponents
Listing 22.9.
Widok komponentu rozdzial/menu
Listing 22.10.
Reguły translacji adresów w aplikacji frontend
Listing 22.11.
Menu główne aplikacji backend
Listing 22.12.
Dostosowanie formularza edycyjnego rekordów z tabeli...
Listing 22.13.
Dostosowanie formularza edycyjnego rekordów z tabeli...
Listing 22.14.
Zmodyfikowany widok _menu.php z aplikacji frontend
Listing 22.15.
Widok akcji rozdzial/index w aplikacji backend
Listing 22.16.
Widok akcji rozdzial/show aplikacji frontend po dodaniu...
Listing 22.17.
Metoda executeNew() modułu zadanie
Listing 22.18.
Automatyczne numerowanie rozdziałów w metodzie...
Listing 22.19.
Automatyczna numeracja rozdziałów i zadań
Rysunek 22.1.
Baza danych cpp
Rysunek 22.2.
Aplikacja frontend zbioru zadań C++
Listing 23.1.
Metoda getPracownicy() klasy Wydzial
Listing 23.2.
Metoda doSelect() klasy PracownikPeer
Listing 23.3.
Metoda zestawienieProwadzonychPrzedmiotow() klasy Pracownik
Listing 23.4.
Metoda PracownikPeer::obciazeniePracownikow()
Listing 23.5.
Metoda liczbaProwadzonychGodzin() klasy Pracownik
Listing 23.6.
Metoda przedmiotySemestru() klasy Kierunek
Listing 23.7.
Metoda obsadaKierunku() klasy Kierunek
Listing 23.8.
Metody walidacji zmiennych URL dodane w klasie Kierunek
Listing 23.9.
Wstawianie do bazy danych informacji z pliku wydzialy.txt
Listing 23.10.
Wstawianie do bazy danych informacji z pliku katedry.txt
Listing 23.11.
Przetwarzanie pliku przedmioty.txt
Listing 23.12.
Tworzenie pustych przydziałów zajęć
Listing 23.13.
Tworzenie losowej obsady zajęć
Listing 23.14.
Plik components.class.php modułu glowny
Listing 23.15.
Reguły translacji adresów frontend
Listing 23.16.
Plik security.yml, zabezpieczający dostęp do modułów...
Listing 23.17.
Plik sfGuardUser\config\security.yml
Listing 23.18.
Menu kontekstowe dotyczące logowania i zarządzania...
Listing 23.19.
Treść pliku angaze/lib/myFilter.class.php
Listing 23.20.
Hiperłącze do tworzenia nowego wydziału zawarte w widoku...
Listing 23.21.
Hiperłącza do edycji i usuwania wydziału zawarte w...
Listing 23.22.
Widok częściowy _menuKontekstowePracownicy.php
Rysunek 23.1.
Baza danych z przykładu pt. Angaże
Rysunek 23.2.
Aplikacja frontend po wykonaniu pierwszego etapu
Listing 24.1.
Fragment pliku propelImportdanychTask.class.php
Listing 24.2.
Widok akcji turniej/index
Listing 24.3.
Menu główne aplikacji backend
Listing 24.4.
Plik konfiguracyjny panstwo/config/generator.yml
Listing 24.5.
Konfiguracja generatora dla modułu turniej_has_zawodnik
Rysunek 24.1.
Baza danych tcs
Rysunek 24.2.
Aplikacja frontend z przykładu Turniej czterech skoczni
Rysunek 24.3.
Formularz do edycji danych zawodnika
Rysunek 24.4.
Baza danych angaze po dodaniu informacji o klasyfikacji...
Rysunek 24.5.
Modyfikacja właściwości relacji