E-book details

Wzorzec MVC w PHP dla profesjonalistów

Wzorzec MVC w PHP dla profesjonalistów

Chris Pitt

Ebook

W dobie aplikacji internetowych wzorzec MVC jest jednym z najpowszechniej używanych. Pozwala on utrzymać aplikację w ryzach i sprawić, że jej konserwacja nie nastręcza zbyt wielu problemów. U podstaw MVC leży podział aplikacji na trzy warstwy — modelu, widoku i kontrolera (ang. Model View Controller). Wzorzec ten jest obecnie wykorzystywany praktycznie w każdym języku programowania.

Dzięki tej książce zrozumiesz, jak z niego korzystać w aplikacji pisanej przy użyciu języka PHP. W trakcie lektury poznasz jego zalety oraz zobaczysz, jak zacząć tworzenie aplikacji opartej o MVC. W kolejnych rozdziałach zagłębisz się w szczegóły konfigurowania, trasowania, tworzenia modeli oraz wykorzystywania baz danych. Ponadto zdobędziesz dogłębną wiedzę na temat testowania aplikacji — to klucz do tworzenia niezawodnych systemów. W tej książce znajdziesz również opis popularnych szkieletów wspierających MVC: Zend Framework i CakePHP to tylko niektóre z nich. Książka ta jest obowiązkową lekturą dla każdego programisty aplikacji internetowych korzystającego z języka PHP.

Dzięki tej książce:

  • poznasz zalety wzorca MVC
  • skutecznie przetestujesz Twoją aplikację
  • zaznajomisz się z dostępnymi szkieletami aplikacji wspierającymi MVC

Twórz elastyczne i niezawodne aplikacje internetowe!


To publikacja skierowana do osób, które znają podstawy języka PHP, ale nie miały jeszcze do czynienia z bardziej zaawansowanymi technikami wytwarzania oprogramowania.

Warto dodać, że każdy rozdział rozpoczyna się od przedstawienia jego celu. Na końcu rozdziałów znajdziemy krótkie podsumowania zawierające pytania oraz dodatkowe ćwiczenia.

To świetne źródło wiedzy dla każdego programisty, który chce udoskonalić swoje umiejętności w zakresie tworzenia architektury aplikacji oraz programowania obiektowego. Książka jest napisana w bardzo przemyślany sposób, autor wyczerpująco omawia zagadnienia, przedstawia najlepsze praktyki i rozwiązania. Jeżeli chcesz być lepszym programistą, to pozycja obowiązkowa w Twojej domowej biblioteczce.


Adrian Piętka, senior software developer
Future Processing

O autorze (13)

O korektorze merytorycznym (15)

Podziękowania (17)

Wprowadzenie (19)

Rozdział 1. Wprowadzenie do MVC (21)

  • Czym jest MVC? (21)
  • Zalety wzorca MVC (22)
  • Popularne szkielety MVC (23)
    • CodeIgniter (23)
    • Zend Framework (24)
    • CakePHP (24)
  • Wzorce projektowe (24)
    • Singleton (25)
    • Rejestr (25)
    • Fabryka (26)
    • Obserwator (26)
  • Tworzenie własnego szkieletu (27)
  • Cele (27)

Rozdział 2. Podstawy (29)

  • Cele (29)
  • Automatyczne ładowanie (29)
    • Przestrzenie nazw (30)
    • Leniwe ładowanie (31)
  • Wyjątki (32)
  • Metody typów (33)
  • Metadane (35)
  • Pytania (42)
  • Odpowiedzi (43)
  • Ćwiczenia (43)

Rozdział 3. Klasa bazowa (45)

  • Cele (45)
  • Metody pobierające i ustawiające (45)
  • Magiczne metody (48)
  • Introspekcja (49)
  • Przezroczyste metody dostępowe (52)
  • Pytania (56)
  • Odpowiedzi (56)
  • Ćwiczenia (56)

Rozdział 4. Konfiguracja (57)

  • Cele (57)
  • Tablice asocjacyjne (57)
  • Pliki INI (58)
  • Pytania (64)
  • Odpowiedzi (64)
  • Ćwiczenia (64)

Rozdział 5. Buforowanie (65)

  • Cele (65)
  • Wąskie gardła wydajności (65)
  • Kod (66)
  • Pytania (72)
  • Odpowiedzi (72)
  • Ćwiczenia (72)

Rozdział 6. Rejestr (73)

  • Cele (73)
  • Singleton (73)
  • Rejestr (75)
  • Pytania (77)
  • Odpowiedzi (77)
  • Ćwiczenia (77)

Rozdział 7. Trasowanie (79)

  • Cele (79)
  • Definiowanie tras (79)
  • Klasy tras (80)
  • Klasa Router (82)
  • Pytania (90)
  • Odpowiedzi (90)
  • Ćwiczenia (90)

Rozdział 8. Szablony (91)

  • Cele (91)
  • Idea (91)
  • Alternatywne rozwiązania (92)
  • Implementacja (92)
  • Korzyści (107)
  • Pytania (115)
  • Odpowiedzi (115)
  • Ćwiczenia (115)

Rozdział 9. Bazy danych (117)

  • Cele (117)
  • Implementacja (117)
  • Konektory (119)
  • Zapytania (123)
  • Pytania (141)
  • Odpowiedzi (141)
  • Ćwiczenia (141)

Rozdział 10. Modele (143)

  • Cele (143)
  • Idea (143)
  • Implementacja (144)
  • Budowanie kodu SQL (146)
  • Modyfikowanie rekordów (155)
  • Nie rozdrabniajmy się! (167)
  • Pytania (167)
  • Odpowiedzi (167)
  • Ćwiczenia (168)

Rozdział 11. Testowanie (169)

  • Cele (169)
  • Testowanie jednostkowe (169)
  • Klasa testowa (170)
  • Bufor (171)
    • Pokrycie (171)
    • Testy (172)
  • Konfiguracja (174)
    • Pokrycie (174)
    • Testy (175)
  • Baza danych (175)
    • Pokrycie (176)
    • Testy (176)
  • Model (183)
    • Pokrycie (183)
    • Testy (184)
  • Szablon (186)
    • Pokrycie (186)
    • Testy (186)
  • A niech to! (189)
  • Pytania (189)
  • Odpowiedzi (189)
  • Ćwiczenia (189)

Rozdział 12. Struktura (191)

  • Cele (191)
  • Baza danych (192)
  • Foldery (192)
  • Pytania (193)
  • Odpowiedzi (193)

Rozdział 13. Rozruch aplikacji (195)

  • Cele (195)
  • Kiedy plik nie jest plikiem? (195)
  • Przepisywanie adresów URL (196)
  • Plik index.php (197)
  • Konfiguracja (198)
    • Baza danych (199)
    • Bufor (200)
  • Kontroler (201)
    • Widoki (201)
    • Renderowanie (203)
  • Pytania (208)
  • Odpowiedzi (209)
  • Ćwiczenia (209)

Rozdział 14. Rejestracja i logowanie (211)

  • Cele (211)
  • Biblioteki wspólne (211)
  • Model użytkownika (212)
  • Rejestracja (215)
  • Sesje (218)
  • Logowanie (221)
  • Pytania (227)
  • Odpowiedzi (227)
  • Ćwiczenia (228)

Rozdział 15. Wyszukiwanie (229)

  • Cele (229)
    • Rozszerzanie implementacji (230)
    • Żądania adresów URL (232)
  • Wyszukiwanie (239)
  • Pytania (245)
  • Odpowiedzi (245)
  • Ćwiczenia (245)

Rozdział 16. Ustawienia (247)

  • Cele (247)
  • Sprawdzanie danych (247)
    • Walidacja na zawołanie (252)
  • Ustawienia (253)
  • Pytania (256)
  • Odpowiedzi (256)
  • Ćwiczenia (257)

Rozdział 17. Udostępnianie treści (259)

  • Cele (259)
  • Strony błędów (259)
  • Znajomości (263)
  • Udostępnianie treści (268)
  • Pytania (272)
  • Odpowiedzi (272)
  • Ćwiczenia (272)

Rozdział 18. Zdjęcia (273)

  • Cele (273)
  • Obsługa wysyłania plików (273)
  • Zdjęcia użytkowników (274)
  • Wyświetlanie zdjęć w profilu (278)
  • Pytania (279)
  • Odpowiedzi (279)
  • Ćwiczenia (279)

Rozdział 19. Rozszerzenia (281)

  • Cele (281)
    • Foxy (281)
    • Własne czcionki w CSS (281)
    • Budowa pośrednika (282)
    • Zastosowanie klasy Proxy (286)
  • Imagine (288)
  • Obserwator (290)
  • Synchroniczność (290)
  • Kod (292)
  • Zdarzenia (293)
  • Wtyczki (296)
  • Pytania (299)
  • Odpowiedzi (299)
  • Ćwiczenia (300)

Rozdział 20. Administracja (301)

  • Cele (301)
  • Czym jest CMS? (301)
  • Administratorzy (301)
  • Logowanie (302)
  • Użytkownicy (307)
  • Zdjęcia (312)
  • Pytania (314)
  • Odpowiedzi (314)
  • Ćwiczenia (314)

Rozdział 21. Testowanie (315)

  • Cele (315)
  • Pytania (318)
  • Odpowiedzi (318)
  • Ćwiczenia (318)

Rozdział 22. CodeIgniter: rozruch (319)

  • Cele (319)
  • Dlaczego CodeIgniter? (319)
  • Dlaczego nie CodeIgniter? (320)
  • Przepisywanie adresów URL (320)
  • Trasy (321)
  • Pytania (321)
  • Odpowiedzi (322)
  • Ćwiczenia (322)

Rozdział 23. CodeIgniter: MVC (323)

  • Cele (323)
  • Różnice (323)
  • Modele (323)
  • Kontrolery (327)
  • Pytania (335)
  • Odpowiedzi (335)
  • Ćwiczenia (336)

Rozdział 24. CodeIgniter: rozszerzanie (337)

  • Cele (337)
  • Wysyłanie plików (337)
  • Biblioteki zewnętrzne (342)
  • Rozszerzanie rdzenia (345)
  • Pytania (346)
  • Odpowiedzi (346)
  • Ćwiczenia (346)

Rozdział 25. CodeIgniter: testowanie (347)

  • Cele (347)
  • Narzędzia (347)
  • Inne możliwości (348)
  • Pytania (348)
  • Odpowiedzi (348)
  • Ćwiczenia (348)

Rozdział 26. Zend Framework: rozruch aplikacji (349)

  • Cele (349)
  • Dlaczego Zend Framework? (349)
  • Dlaczego nie Zend Framework? (350)
  • Wstępna konfiguracja (350)
  • Trasy (350)
  • Pytania (351)
  • Odpowiedzi (352)
  • Ćwiczenia (352)

Rozdział 27. Zend Framework: MVC (353)

  • Cele (353)
  • Różnice (353)
  • Modele (353)
  • Kontrolery (359)
  • Pytania (367)
  • Odpowiedzi (367)
  • Ćwiczenia (367)

Rozdział 28. Zend Framework: rozszerzanie (369)

  • Cele (369)
  • Wysyłanie plików (369)
  • Biblioteki zewnętrzne (374)
  • Pytania (376)
  • Odpowiedzi (376)
  • Ćwiczenia (376)

Rozdział 29. Zend Framework: testowanie (377)

  • Cele (377)
  • Instalowanie PEAR (377)
    • Windows (377)
    • Unix/Linux/BSD (378)
    • Mac OS X (378)
  • Instalowanie PHPUnit (378)
  • Uruchamianie testów (378)
  • Dodawanie testów (378)
  • Pytania (380)
  • Odpowiedzi (380)

Rozdział 30. CakePHP: rozruch (381)

  • Cele (381)
  • Dlaczego CakePHP? (381)
  • Dlaczego nie CakePHP? (382)
  • Rozpoczynanie pracy (382)
  • Trasy (382)
  • Pytania (383)
  • Odpowiedzi (383)
  • Ćwiczenia (383)

Rozdział 31. CakePHP: MVC (385)

  • Cele (385)
  • Modele (385)
  • Kontrolery (386)
  • Czynności końcowe (388)
  • Pytania (392)
  • Odpowiedzi (392)
  • Ćwiczenia (392)

Rozdział 32. CakePHP: rozszerzanie (393)

  • Cele (393)
  • Wysyłanie plików (393)
  • Zewnętrzne biblioteki (396)
    • Wtyczki (396)
    • Katalog Vendor (397)
  • Pytania (398)
  • Odpowiedzi (398)
  • Ćwiczenia (398)

Rozdział 33. CakePHP: testowanie (399)

  • Cele (399)
  • Testowanie (399)
  • Pytania (401)
  • Odpowiedzi (401)
  • Ćwiczenia (401)

Dodatek A. Konfiguracja serwera sieciowego (403)

  • Cele (403)
  • Windows (403)
    • Krok 1. (403)
    • Krok 2. (406)
    • Krok 3. (408)
  • Linux (411)
    • Krok 1. (411)
    • Krok 2. (411)
    • Krok 3. (414)
    • Krok 4. (414)
  • Mac OS X (415)
    • Krok 1. (415)
    • Krok 2. (416)
    • Krok 3. (418)
  • Testowanie (419)

Skorowidz (421)

  • Title: Wzorzec MVC w PHP dla profesjonalistów
  • Author: Chris Pitt
  • Original title: Pro PHP MVC (Professional Apress)
  • Translation: Łukasz Piwko
  • ISBN: 978-83-246-7018-5, 9788324670185
  • Date of issue: 2013-08-14
  • Format: Ebook
  • Item ID: wzomvc
  • Publisher: Helion