przewiń do treści

PHP, MySQL i MVC. Tworzenie witryn WWW opartych na bazie danych

Włodzimierz Gajda

Listingi


Listing 1.1. Plik main/actions.class.php z projektu 1.1
Listing 1.2. Widok akcji main/hello zawarty w pliku main/hello.html
Listing 1.3. Szablon templates/layout.html
Listing 1.4. Reguły translacji zawarte w pliku translations.txt
Listing 1.5. Skrypt index.php
Listing 2.1. Zawartość pliku modules/obrazy/actions.class.php
Listing 2.2. Plik layout.html z projektu 2.1
Listing 2.3. Widok akcji obrazy/zdjecie. Plik...
Listing 2.4. Reguły translacji adresów URL w projekcie 2.1
Listing 2.5. Style CSS projektu 2.1
Listing 2.6. Źródło strony z rysunku 2.2. Adresem URL strony jest /
Listing 2.7. Źródło strony z rysunku 2.3 w przypadku użycia adresu z...
Listing 3.1. Widok akcji main/404 zawiera komunikat prezentowany na...
Listing 3.2. Widok akcji foto/tatry
Listing 3.3. Zarys szablonu templates/layout.html
Listing 3.4. Reguła translacji zawarta w pliku translations.txt
Listing 4.1. Zmiana języka przetwarzania szablonu na Smarty
Listing 4.2. Metoda execute_data() modułu main w projekcie 4.1
Listing 4.3. Zarys układu layout.html z projektu 4.1
Listing 4.4. Widok akcji main/data z projektu 4.1
Listing 4.5. Plik layout.html z projektu 4.2
Listing 4.6. Widok akcji main/data z projektu 4.2
Listing 4.7. Plik actions.class.php modułu piosenka
Listing 4.8. Widok akcji piosenka/tekst z projektu 4.3
Listing 4.9. Układ witryny z projektu 4.3 — plik layout.html
Listing 4.10. Układ layout.html projektu 4.4
Listing 4.11. Widok akcji piosenka/tekst projektu 4.4
Listing 4.12. Plik modules/utwor/actions.class.php projektu 4.5
Listing 4.13. Plik modules/utwor/pokaz.html projektu 4.5
Listing 4.14. Plik modules/utwor/pokaz.html projektu 4.5 zapisany z...
Listing 4.15. Układ layout.html projektu 4.5 stosuje zmienne widoku...
Listing 4.16. Plik layout.html z projektu 4.6
Listing 4.17. Plik pokaz.html z projektu 4.6
Listing 4.18. Plik modules/kolory/actions.class.php z projektu 4.7
Listing 4.19. Widok akcji kolory/index — plik modules/kolory/index.html
Listing 4.20. Plik layout.html projektu 4.7
Listing 5.1. Nadpisywanie metody wirtualnej preActions() w klasie...
Listing 5.2. Utworzenie instancji klasy NowyController w skrypcie...
Listing 5.3. Klasa FraszkiController z projektu 5.1
Listing 5.4. Skrypt index.php z projektu 5.1
Listing 5.5. Plik modules/fraszka/actions.class.php
Listing 5.6. Plik modules/fraszka/show.html
Listing 5.7. Plik layout.html projektu 5.1
Listing 5.8. Reguły translacji adresów URL w projekcie 5.1
Listing 5.9. Zarys klasy FraszkiController z projektu 5.2
Listing 5.10. Zarys układu layout.html z projektu 5.2
Listing 5.11. Widok modules/fraszka/show.html projektu 5.2
Listing 6.1. Metoda preActions() projektu 6.1
Listing 6.2. Metoda execute_show() akcji koleda/show
Listing 6.3. Plik layout.html z projektu 6.1
Listing 6.4. Widok akcji koleda/show
Listing 6.5. Reguły translacji przyjaznych adresów URL w projekcie 6.1
Listing 6.6. Funkcja smarty_function_url()
Listing 6.7. Plik translations.txt z projektu 6.2
Listing 6.8. Metoda preActions w klasie LigiController
Listing 6.9. Plik layout.html z projektu 6.2
Listing 6.10. Klasa Actions modułu liga
Listing 6.11. Widok akcji liga/show
Listing 7.1. Plik schema.xml zawierający opis bazy danych z rysunku 7.6...
Listing 7.2. Plik schema.yml zawierający opis bazy danych z rysunku 7.6...
Listing 7.3. Plik conf.ini ustalający nazwę bazy danych oraz parametry...
Listing 7.4. Treść pliku konfiguracyjnego conf.ini przeznaczonego dla...
Listing 7.5. Skrypt wstaw.php wypełniający bazę danych tatry...
Listing 7.6. Plik actions.class.php modułu szczyt projektu 7.1
Listing 7.7. Widok list.html akcji szczyt/list projektu 7.1
Listing 7.8. Skrypt index.php z projektu 7.1
Listing 7.9. Skrypt wstaw.php wypełniający bazę danych rekordami
Listing 7.10. Plik actions.class.php z projektu 7.2
Listing 7.11. Widok list.html z projektu 7.2
Listing 7.12. Skrypt index.php z projektu 7.2
Listing 7.13. Skrypt index.php z projektu 7.3
Listing 7.14. Widok list.html z projektu 7.3
Listing 7.15. Skrypt index.php z projektu 7.4
Listing 7.16. Widok list.html z projektu 7.4
Listing 9.1. Nadpisana metoda doSelect(), która zmienia domyślny...
Listing 9.2. Nadpisana metoda doSelect() klasy KolorPeer
Listing 9.3. Metoda doSelect() klasy ZwierzePeer
Listing 9.4. Wstawianie rekordów do bazy danych slownik z...
Listing 9.5. Plik actions.class.php modułu main
Listing 9.6. Plik actions.class.php modułu słownik
Listing 9.7. Widok
Listing 9.8. Widok kolory.html z projektu 9.1
Listing 9.9. Zarys pliku layout.html
Listing 9.10. Reguły translacji adresów URL (plik translations.txt)
Listing 9.11. Wstawianie rekordów do bazy danych słownik z...
Listing 9.12. Plik actions.class.php modułu slownik z projektu 9.2
Listing 9.13. Widok _tabela.html formatujący zestawienie wyrazów z...
Listing 10.1. Metoda retrieveBySlug(), która ułatwi wyszukiwanie...
Listing 10.2. Plik TrenPeer.php z metodami doSelect() oraz...
Listing 10.3. Skrypt wstaw.php z projektu 10.1
Listing 10.4. Metoda execute_show() akcji tren/show
Listing 10.5. Widok akcji tren/show
Listing 10.6. Metoda preActions() przekazuje do widoku dane potrzebne do...
Listing 10.7. Układ witryny layout.html
Listing 10.8. Reguły translacji adresów URL
Listing 10.9. Wypełnianie bazy danych treny przy użyciu obiektów...
Listing 10.10. Plik trenycontroller.class.php z projektu 10.2
Listing 10.11. Metoda execute_show() modułu tren
Listing 10.12. Widok akcji tren/show z projektu 10.2
Listing 11.1. Metoda get() klasy Kontynent, która powoduje sortowanie...
Listing 11.2. Metoda get() klasy Kontynent, która powoduje sortowanie...
Listing 11.3. Plik KontynentPeer.php z projektu 11.1
Listing 11.4. Skrypt wstaw.php z projektu 11.1
Listing 11.5. Plik actions.class.php z modułu kontynent
Listing 11.6. Widok akcji kontynent/list
Listing 11.7. Widok akcji kontynent/show
Listing 11.8. Plik actions.class.php modułu miasto
Listing 11.9. Widok akcji miasto/show
Listing 11.10. Reguły translacji adresów URL
Listing 11.11. Klasa Kontynent z nadpisaną metodą get()
Listing 11.12. Klasa Panstwo
Listing 11.13. Wstawianie rekordów do bazy danych
Listing 11.14. Metoda execute_list() modułu kontynent
Listing 11.15. Widok kontynent/list
Listing 11.16. Metoda execute_show() akcji kontynent/show
Listing 11.17. Widok show.html akcji kontynent/show
Listing 12.1. Funkcja parsuj_film(), która ułatwi wypełnianie bazy...
Listing 12.2. Zarys skryptu wstaw.php wypełniający bazę danych filmy
Listing 12.3. Widok akcji film/show
Listing 12.4. Widok aktor/show
Listing 12.5. Reguły translacji adresów URL w projekcie 12.1
Listing 12.6. Zarys skryptu wstaw.php z projektu 12.2
Listing 12.7. Zarys widoku film/show z projektu 12.2
Listing 12.8. Zarys widoku aktor/show
Listing 12.9. Metoda getAHasBsJoinB() nadpisana w klasie A
Listing 12.10. Metoda getFilmHasAktorsJoinFilm() klasy Aktor
Listing 12.11. Metoda getFilmHasAktorsJoinAktor() klasy Film
Listing 12.12. Nadpisywanie odczytu właściwości ABs w klasie A zapewni...
Listing 12.13. Metoda get() klasy Aktor
Listing 12.14. Metoda get() klasy Film
Listing 12.15. Pokrywanie metody get() w klasie Aktor tak, by zmienić...
Listing 13.1. Metoda __toString() dla klasy Aktor wygenerowanej przez...
Listing 13.2. Metoda __toString() dla klasy Aktor wygenerowanej przez...
Listing 13.3. Propel: tworzenie obiektu z wykorzystaniem metody...
Listing 13.4. Doctrine: tworzenie obiektu z wykorzystaniem metody...
Listing 13.5. Propel: implementacja metody insertIfNotExists()
Listing 13.6. Doctrine: implementacja metody insertIfNotExists()
Listing 13.7. Zarys widoku częściowego przetwarzającego tablicę $tab...
Listing 13.8. Metoda __toString() klasy Aparat
Listing 13.9. Metoda __toString() klasy Matryca
Listing 13.10. Metoda __toString() klasy Producent
Listing 13.11. Metoda insertIfNotExists() klasy Matryca
Listing 13.12. Metoda insertIfNotExists() klasy Producent
Listing 13.13. Zarys skryptu wstaw.php z projektu 13.1
Listing 13.14. Wykorzystanie metod __toString() upraszcza widok...
Listing 13.15. W widoku akcji producent/show wykorzystujemy widok akcji...
Listing 13.16. Metoda __toString() klasy aparat wygenerowanej przez...
Listing 13.17. Metoda __toString() klasy matryca wygenerowanej przez...
Listing 13.18. Metoda __toString() klasy producent wygenerowanej przez...
Listing 13.19. Metoda get() klasy matryca
Listing 13.20. Metoda get() klasy producent
Listing 13.21. Metoda insertIfNotExists() klasy matryca
Listing 13.22. Metoda insertIfNotExists() klasy producent
Listing 13.23. Skrypt wstaw.php
Listing 13.24. Plik actions.class.php z modułu producent projektu 13.2
Listing 13.25. Metoda execute_list() modułu aparat przekazuje do widoku...
Listing 14.1. Zapisanie w tabeli img obrazu fotka.png przy użyciu...
Listing 14.2. Zapisanie w tabeli img obrazu fotka.png przy użyciu...
Listing 14.3. Prezentacja zdjęcia zapisanego na stronie WWW przy użyciu...
Listing 14.4. Prezentacja zdjęcia zapisanego na stronie WWW przy użyciu...
Listing 14.5. Plik strona.html z ćwiczenia 14.1
Listing 14.6. Zapisywanie w bazie danych pliku dane.pdf - wersja Propel
Listing 14.7. Zapisywanie w bazie danych pliku dane.pdf - wersja Doctrine
Listing 14.8. Wysyłanie do przeglądarki danych binarnych - wersja...
Listing 14.9. Wysyłanie do przeglądarki danych binarnych - wersja...
Listing 14.10. Dokument strona.html z ćwiczenia 14.3
Listing 14.11. Metoda insertIfNotExists() klasy MenuPeer
Listing 14.12. Metoda insert() klasy GrupaPeer
Listing 14.13. Fragment skryptu wstaw.php z projektu 14.1
Listing 14.14. Metoda akcji img/show
Listing 14.15. Metoda akcji plik/show
Listing 14.16. Szablon _menu-pion.html z projektu 14.1
Listing 14.17. Treść pierwszej opcji podręcznika użytkownika
Listing 14.18. Treść opcji menu Pobierz
Listing 14.19. Metoda insert() klasy Grupa
Listing 14.20. Metoda insertIfNotExists() klasy Img
Listing 14.21. Fragment skryptu wstaw.php z projektu 14.2
Listing 14.22. Metoda akcji img/show - project 14.2
Listing 14.23. Metoda akcji plik/show - projekt 14.2
Listing 15.1. Akcja show modułu img
Listing 15.2. Plik actions.class.php modułu czcionka
Listing 15.3. Widok częściowy modules/czcionka/_list.html prezentujący...
Listing 15.4. Widok akcji czcionka/list
Listing 15.5. Widok częściowy modules/projekt/_list.html prezentujący...
Listing 15.6. Widok akcji czcionka/show
Listing 15.7. Widok rodzina/show
Listing 15.8. Widok platforma/show
Listing 15.9. Układ layout.html witryny z projektu 15.1
Listing 17.1. Wypełnianie tabeli stanowisko danymi z pliku...
Listing 17.2. Metoda getPracownicy() klasy Wydzial
Listing 17.3. Metoda doSelect() klasy PracownikPeer
Listing 17.4. Metoda zestawienieProwadzonychPrzedmiotow() klasy Pracownik
Listing 17.5. Metoda PracownikPeer::obciazeniePracownikow()
Listing 17.6. Metoda liczbaProwadzonychGodzin() klasy Pracownik
Listing 17.7. Metoda przedmiotySemestru() klasy Kierunek
Listing 17.8. Metoda obsadaKierunku() klasy Kierunek
Listing 17.9. Metody walidacji zmiennych URL dodane w klasie Kierunek
Listing 17.10. Klasa AngazeController
Listing 17.11. Fragment pliku layout.html odpowiedzialny za dołączanie...
Listing 17.12. Zarys menu kontekstowego...
Listing 18.1. Kod akcji menu/show zawiera instrukcję przekazującą...
Listing 18.2. Fragment układu layout.html, w którym wykorzystano...
Listing 18.3. Metoda akcji projekt/list
Listing 18.4. Widok akcji projekt/list
Listing 18.5. Kod akcji modułu spistresci
Listing 18.6. Widok akcji spistresci/pelny pokazuje, w jaki sposób w...
Listing 18.7. Klasa Pointer
Listing 18.8. Klasa WskaznikProjektu
Listing 18.9. Klasa WskaznikRozdzialu
Listing 18.10. Metoda execute_show() akcji projekt/show
Listing 18.11. Widok częściowy _wskaznik_projektu.html
Listing 18.12. Hiperłącze prowadzące do poprzedniego rozdziału.
Listing 18.13. Metoda postActions() klasy PhpppController
Listing 18.14. Hiperłącza link dla modułu projekt pozwalają na...
Listing 19.1. Metoda usun() klasy DvdPeer
Listing 19.2. Metoda zlicz rekordy() klasy DvdPeer
Listing 19.3. Metoda tworzMniatury() klasy FotkaPeer
Listing 19.4. Skrypt wstaw.php z projektu 19.1
Listing 19.5. Funkcja pomocnicza przetworz_folder() z pliku...
Listing 19.6. Metoda akcji fotka/showjpg odpowiedzialna za wysyłanie do...
Listing 19.7. Fragment widoku akcji kategoria/show generujący tabelę...
Listing 19.8. Metoda getPrevious() klasy WskaznikKategorii
Listing 19.9. Dodawanie identyfikatora elementu body na podstawie...
Listing 19.10. Plik popup.js, który odpowiada za wyświetlanie zdjęć...
Listing 19.11. Fragment widoku częściowego _breadcrumbs.html
Listing 20.1. Zapytanie SQL wyznaczające informacje statystyczne o...
Listing 20.2. Metoda tabela klasy Klub
Listing 20.3. Klasa TabelaKlubow ułatwiająca wykonanie tabelki HTML z...
Listing 20.4. Klasa TabelaWynikow ułatwiająca sortowanie tabeli HTML...
Listing 20.5. Klasa TabelaMeczow do prezentacji tabeli HTML z akcji...
Listing 20.6. Metoda execute_tabela() akcji liga/tabela
Listing 20.7. Metoda podajMecze() klasy liga
Listing 20.8. Widok akcji liga/tabela
Listing 20.9. Zapytanie SQL ustalające tabelę ligi 123 posortowaną...
Listing 21.1. Metoda setSlug() klasy Song
Listing 21.2. Klasa Pager
Listing 21.3. Widok częściowy _pager.html
Listing 21.4. Metoda akcji artist/list
Listing 21.5. Widok akcji artist/list
Listing 21.6. Metoda akcji artist/show, której zadaniem jest prezentacja...
Listing 22.1. Zapytanie SQL, które ustala zestaw liter
Listing 22.2. Metoda podajLitery() klasy ImiePeer
Listing 22.3. Widok _literki.html
Listing 22.4. Metoda akcji imie/litera
Listing 22.5. Zarys układu witryny layout.html
Listing 23.1. Skrypt wypełniający bazę danych
Listing 23.2. Wyzwalacz zliczanie, który odpowiada za ustalenie wag...
Listing 23.4. Metody akcji tag/listaa oraz tag/listan
Listing 23.5. Widok częściowy _lista.html wykorzystany w widokach akcji...
Listing 23.6. Metoda execute_chmura() akcji tag/chmura
Listing 23.7. Metoda execute_show() akcji tag/show
Listing 24.1. Przykładowy artykuł zapisany z wykorzystaniem elementów...
Listing 24.2. Zarys spisu treści wygenerowanego dla artykułu z listingu...
Listing 24.3. Skrypt wstaw.php odpowiedzialny za wypełnianie bazy danych...
Listing 24.4. Funkcja parse_article()
Listing 24.5. Funkcje odpowiedzialne za odczytywanie oraz usuwanie...
Listing 24.6. Metoda akcji artykul/show
Listing 24.7. Widok akcji artykul/show
Listing 24.8. Zarys pliku layout.html
Listing 26.1. Dokument XML dostępny na stronach NBP
Listing 26.2. Dokument XML zawierający ofertę wydawnictwa Helion
Listing 26.3. Skrypt wypełniający bazę danych z rysunku 26.3 na...
Listing 26.4. Widok akcji main/tabela
Listing 27.1. Plik data.xml
Listing 27.2. Skrypt PHP, który generuje dokument XML
Listing 27.3. Generowanie znaczników XML instrukcjami echo
Listing 27.4. Skrypt PHP konwertujący tablicę napisów w kod XML
Listing 27.5. Skrypt generujący kod XML na podstawie pliku tekstowego
Listing 27.6. Zapisanie generowanego kodu XML do pliku
Listing 27.7. Przykładowy dokument sitemap.xml
Listing 27.8. Przykładowy kanał RSS
Listing 27.9. Kanał RSS http://rss.nbp.pl/kursy/TabelaA.xml
Listing 27.10. Skrypt ustal-adresy.php
Listing 27.11. Skrypt wstaw.php z projektu 27.1
Listing 27.12. Funkcja aktualizuj_kursy()
Listing 27.13. Metoda akcji main/rss
Listing 27.14. Szablon rss.xml akcji main/rss
Listing 27.15. Metoda execute_sitemap() akcji main/sitemap
Listing 27.16. Szablon sitemap.xml akcji main/sitemap
Listing 27.17. Metoda akcji waluta/show
Listing 28.1. Skrypt konwertujący tablicę PHP do formatu XML
Listing 28.2. Kod XML wygenerowany na podstawie tablicy asocjacyjnej
Listing 28.3. Kod XML otrzymany z wykorzystaniem opcji klasy...
Listing 28.4. Kod XML otrzymany po konwersji jednowymiarowej tablicy...
Listing 28.5. Kod XML otrzymany po konwersji tablicy, która zawiera...
Listing 28.6. Kod XML otrzymany po włączeniu opcji scalarAsAttributes
Listing 28.7. Skrypt, który wybiórczo konwertuje składowe tablicy...
Listing 28.8. Przekształcenie elementów tablicy danych funkcją trim()
Listing 28.9. Projekt 28.1 - konwersja pliku nobel.txt do formatu XML
Listing 28.10. Rozwiązanie projektu 28.2
Listing 28.11. Rozwiązanie projektu 28.3
Listing 28.12. Konwersja dokumentu XML w tablicę
Listing 28.13. Włączenie przetwarzania atrybutów
Listing 28.14. Konwersja pliku artykuly.xml w wiele osobnych plików XML
Listing 28.15. Konwersja wielu plików XML w pojedynczy plik XML
Listing 28.16. Fragment pliku klasyfikacja-zwierzat.xml
Listing 28.17. Wypełnianie bazy danych na podstawie pliku...
Listing 28.18. Metoda execute_drzewo() akcji main/drzewo
Listing 28.19. Zarys widoku drzewo.html akcji main/drzewo
Listing 28.20. Metoda execute_rss() akcji main/rss
Listing 28.21. Metoda execute_generujsitemap() akcji main/generujsitemap
Listing 29.1. Tworzenie pliku auta.xls z losowymi ofertami sprzedaży...
Listing 29.2. Skrypt wypełniający bazę danych informacjami odczytanymi...
Listing 29.3. Widok częściowy _oferty.html
Listing 29.4. Metoda getAutos() klasy Marka
Listing 30.1. Zawartość pliku tekstowego 2007_12_100_104.txt...
Listing 30.2. Zawartość pliku tekstowego 2007_12_100_104.xml...
Listing 30.3. Konwersja formatu TXT do formatu XML
Listing 30.4. Funkcja newfilename()
Listing 30.5. Dane z listingu 30.1 przekonwertowane funkcją prase_txt()...
Listing 30.6. Funkcja parse_txt() odpowiedzialna za przekształcenie...
Listing 30.7. Funkcja array2xml() konwertująca tablicę asocjacyjną w...
Listing 30.8. Konwersja plików tekstowych do formatu XLS
Listing 30.9. Funkcja array2xls()
Listing 30.10. Konwersja dokumentów XML do formatu TXT
Listing 30.11. Funkcja parse_xml() oraz funkcja pomocnicza f_in_xml()
Listing 30.12. Funkcja array2txt()
Listing 30.13. Szablon txt.tpl
Listing 30.14. Konwersja dokumentów XML do formatu XLS
Listing 30.15. Konwersja dokumentów XLS do formatu TXT
Listing 30.16. Funkcja parse_xls() oraz funkcja pomocnicza f_in_xls()
Listing 30.17. Konwersja formatu XLS do formatu XML
Listing 30.18. Wypełnianie bazy danych z rysunku 30.3 informacjami...
Listing 30.19. Metoda klasy AutorPeer odpowiedzialna za zliczanie...
Listing 30.20. Metoda klasy Autor odpowiedzialna za zliczanie artykułów...
Listing 30.21. Zarys metody insertParsedArticle() klasy ArtykulPeer
Listing 30.22. Metoda akcji autor/list
Listing 30.23. Kod akcji autor/show
Listing 31.1. Rozwiązanie ćwiczenia 31.5
Listing 31.2. Rozwiązanie ćwiczenia 31.6
Listing 31.3. Konwersja artykułów z formatu tekstowego do formatu...
Listing 31.4. Zarys klasy TXTArticle
Listing 31.5. Metoda podajArtykuly() klasy ArticlePeer
Listing 31.6. Zarys klasy XMLArticle
Listing 31.7. Fragment kodu źródłowego artykułu
Listing 31.8. Zarys klasy HTMLArticle
Listing 31.9. Zarys skryptu wstaw.php z projektu 31.1
Listing 31.10. Kod akcji article/show
Listing 31.11. Kod akcji article/page

Reklama

Szkolenia z Symfony 2.0