Szczegóły ebooka

Zend Framework od podstaw. Wykorzystaj gotowe rozwiązania PHP do tworzenia zaawansowanych aplikacji internetowych

Zend Framework od podstaw. Wykorzystaj gotowe rozwiązania PHP do tworzenia zaawansowanych aplikacji internetowych

Włodzimierz Gajda

Ebook

Elastyczne PHP - twórz nowe strony z wykorzystaniem Zend Framework!

  • Tworzenie stron WWW w Zend Framework - zacznij od "Hello, World"
  • Bazy danych i formularze - opanuj wszystkie elementy
  • Zabezpieczanie dostępu do aplikacji - nie daj się zaskoczyć

Zend Framework to nowoczesna biblioteka ułatwiająca tworzenie stron WWW w języku PHP. Ten wygodny system pozwala projektantowi stron internetowych znacznie ograniczyć bądź nawet wyeliminować konieczność żmudnego wpisywania kodu na rzecz posługiwania się gotowymi elementami, niezależnie od tego, czy chce zaimplementować podstawowe mechanizmy aplikacji, czy też wzbogacić ją o konkretne funkcjonalności. Wsparcie ze strony twórców języka PHP, stabilna wersja, gotowa do pomocy społeczność programistów-entuzjastów oraz ogromna elastyczność to główne atuty tego rozwiązania, sprawiające, że jego popularność rośnie w dużym tempie.

Niniejsza publikacja ma za zadanie przybliżyć Ci Zend Framework, począwszy od absolutnych podstaw, aż po kwestie związane z pieczołowitym zabezpieczaniem dostępu do aplikacji. Znajdziesz tu jasne i czytelne przykłady zastosowania frameworka w różnych sytuacjach oraz propozycje gotowych rozwiązań konkretnych problemów programistycznych. Nauczysz się tworzyć zarówno proste strony WWW, jak i zaawansowane aplikacje, wymieniać szablony oraz implementować wtyczki. Poznasz sposoby tworzenia i wykorzystywania klas, współpracy z bazą danych, publikowania aplikacji w Internecie oraz używania formularzy. Krótko mówiąc, masz w ręku kompletny przewodnik po jednym z najlepszych frameworków PHP!

  • Pierwszy projekt w Zend Framework i praca w środowisku NetBeans
  • Tworzenie i usuwanie kontrolerów oraz akcji
  • Wymiana szablonu HTML/CSS i dołączanie zewnętrznych zasobów
  • Zasoby i implementacja inicjalizującej je wtyczki
  • Bazy danych, tabele i relacje
  • Identyfikacja rekordów na podstawie wartości slug
  • Menu generowane na podstawie zawartości tabeli bazy danych
  • Publikowanie aplikacji wykorzystującej bazę danych na serwerze hostingowym
  • Przetwarzanie formularza, czyli implementacja interfejsu CRUD i dostosowywanie kodu HTML
  • Walidatory oraz filtry i przesyłanie plików na serwer
  • Zabezpieczanie haseł funkcjami skrótu
  • Rejestracja i ograniczanie uprawnień użytkowników
  • Modularyzacja aplikacji

Programuj swobodnie, wykorzystując uniwersalne biblioteki PHP!

Część I: Tworzenie stron WWW w Zend Framework (9)

Rozdział 1. Pierwszy projekt w Zend Framework (11)

  • Podsumowanie (17)
  • Uruchomienie gotowego przykładu (18)

Rozdział 2. Praca w środowisku NetBeans (19)

Rozdział 3. Tworzenie i usuwanie kontrolerów oraz akcji (27)

    • Praca w środowisku deweloperskim (33)

Rozdział 4. Wymiana szablonu HTML/CSS (35)

    • Adresy strony z wierszem (41)

Rozdział 5. Dołączanie zewnętrznych zasobów (43)

  • Analiza kodu HTML generowanego przez aplikację (47)

Rozdział 6. Hiperłącza (49)

  • Zalety mapowania adresów wewnętrznych/zewnętrznych (51)
    • Reguły domyślne i funkcja pomocnicza url() (60)

Rozdział 7. Strona błędu 404 (63)

  • Analiza odpowiedzi HTTP (71)

Rozdział 8. Publikowanie projektu na serwerze hostingowym (75)

    • Zestawienie plików tworzących projekt 8.1 (80)

Rozdział 9. Podsumowanie (89)

  • Pliki źródłowe aplikacji (90)
  • Przebieg wykonania aplikacji (90)
  • Konwencje nazewnicze klas i plików (95)

Część II: Procedura inicjalizacji aplikacji (97)

Rozdział 10. Zasoby (99)

  • Zasoby i ich opcje konfiguracyjne (102)
    • Zasób db (102)
    • Zasób frontController (103)
    • Zasób layout (103)
    • Zasób router (104)
    • Zasób view (105)
  • Kiedy automatyczna konfiguracja zawodzi? (107)
  • Metody _init() klasy Bootstrap (108)
  • Inicjalizacja wybranych zasobów (109)
  • Dostęp do zainicjalizowanych zasobów (110)
  • Dostęp do zainicjalizowanych zasobów wewnątrz akcji (111)
  • Kiedy nie implementować własnej metody _init()? (111)

Rozdział 11. Implementacja wtyczki inicjalizującej zasoby (123)

  • Klasa wtyczki i klasa zasobu (123)
  • Włączanie przetwarzania wtyczki (126)

Rozdział 12. Podsumowanie (133)

Część III: Zend_DB - klasy zapewniające dostęp do baz danych (135)

Rozdział 13. Pierwszy projekt ZF wykorzystujący bazę danych (137)

    • Uruchomienie gotowego projektu (154)

Rozdział 14. Klasa Zend_Db_Adapter_Abstract i klasy pochodne (157)

  • Klasa Zend_Db (158)
  • Klasa Zend_Db_Adapter_Abstract i jej klasy pochodne (160)
    • Metoda Zend_Db_Adapter_Abstract::fetchRow() (163)
    • Metoda Zend_Db_Adapter_Abstract::fetchAll() (165)
    • Metoda Zend_Db_Adapter_Abstract::fetchCol() (166)
    • Metoda Zend_Db_Adapter_Abstract::fetchOne() (167)
    • Metoda Zend_Db_Adapter_Abstract::fetchAssoc() (167)
    • Metoda Zend_Db_Adapter_Abstract::fetchPairs() (167)
    • Metoda Zend_Db_Adapter_Abstract::setFetchMode() (168)
    • Metoda Zend_Db_Adapter_Abstract::insert() (169)
    • Metoda Zend_Db_Adapter_Abstract::lastInsertId() (169)
    • Metoda Zend_Db_Adapter_Abstract::delete() (170)
    • Metoda Zend_Db_Adapter_Abstract::update() (171)
    • Metoda Zend_Db_Adapter_Abstract::query() (172)
    • Metoda Zend_Db_Adapter_Abstract::quote() (172)
    • Metoda Zend_Db_Adapter_Abstract::quoteInto() (173)
    • Metody do obsługi transakcji (173)
    • Użycie wyrażeń SQL (174)

Rozdział 15. Klasa Zend_Db_Table i klasy z nią związane (181)

    • Klasa Zend_Db_Select (181)
  • Klasa Zend_Db_Table (185)
    • Konstruktor klasy Zend_Db_Table (186)
    • Metoda Zend_Db_Table::insert() (187)
    • Metoda Zend_Db_Table::delete() (188)
    • Metoda Zend_Db_Table::update() (189)
    • Metoda Zend_Db_Table::find() (189)
    • Metoda Zend_Db_Table::select() (190)
    • Metoda Zend_Db_Table::fetchAll() (190)
    • Metoda Zend_Db_Table::fetchRow() (191)
    • Metoda Zend_Db_Table::createRow() (191)
  • Klasa Zend_Db_Table_Row (193)
  • Klasa Zend_Db_Table_Rowset (194)

Rozdział 16. Dostosowywanie klas dostępu do bazy danych (201)

  • Modyfikacja porządku kolekcji rekordów zwracanych przez metodę Zend_Db_Table::fetchAll() (202)
    • Definiowanie własnej metody __toString() w klasach dziedziczących po Zend_Db_Table_Row (203)

Rozdział 17. Relacje 1:n (jeden do wielu) (211)

  • Klucze główne (211)
  • Relacja jeden do wielu (211)
  • Relacje 1:n w programie MySQL Workbench (213)
  • Klucze obce o wartości NULL (215)
  • Akcje referencyjne (216)
  • Użycie relacji 1:n w Zend Framework (217)
  • Operowanie rekordami powiązanymi relacją (219)
    • Tworzenie rekordów (219)
    • Rekordy zależne (220)
    • Rekord nadrzędny (222)
    • Implementacja własnych metod dostępu do rekordów powiązanych (223)

Rozdział 18. Relacje n:m (wiele do wielu) (229)

  • Relacja wiele do wielu (229)
  • Relacje n:m w programie MySQL Workbench (230)
  • Użycie relacji n:m w Zend Framework (230)
  • Operowanie rekordami powiązanymi relacją (233)
    • Tworzenie rekordów (233)
    • Rekordy zależne (234)
    • Implementacja własnych metod dostępu do rekordów powiązanych (235)

Rozdział 19. Podsumowanie (243)

Część IV: Szczegółowe dane rekordu (247)

Rozdział 20. Akcja show - wyświetlanie szczegółowych danych rekordu (249)

  • Metoda identyfikacji i wyszukiwania rekordów w bazie danych (249)
  • Akcja show i jej adres (250)
  • Przetwarzanie w akcji show (250)
  • Generowanie adresów stron akcji show (251)
  • Konfiguracja przyjaznych adresów akcji show (258)

Rozdział 21. Identyfikacja rekordów na podstawie wartości slug (263)

  • Klasa konwertująca polskie znaki (264)
  • Funkcje string2slug() oraz html2slug() (266)
  • Automatyczne generowanie wartości slug podczas zapisywania rekordu w bazie danych (284)

Rozdział 22. Widoki częściowe (289)

Rozdział 23. Menu generowane na podstawie zawartości tabeli bazy danych (303)

Rozdział 24. Zapisywanie w bazie danych plików binarnych (309)

  • Nagłówek Content-Type (309)
  • Konwersja rozszerzenia w typ mime (310)
  • Wyłączenie przetwarzania widoków .phtml (311)
  • Modyfikacja odpowiedzi w akcji (312)

Rozdział 25. Publikowanie aplikacji wykorzystującej bazę danych na serwerze hostingowym (321)

Rozdział 26. Podsumowanie (339)

Część V: Formularze (341)

Rozdział 27. Formularz i kontrolki (343)

  • Tworzenie formularzy poleceniem zf create form (343)
  • Tworzenie kontrolek formularza (344)
  • Umieszczanie formularza na stronach WWW (346)
  • Rodzaje kontrolek (348)
    • Klasa Zend_Form_Element_Button (350)
    • Klasa Zend_Form_Element_Captcha (350)
    • Klasa Zend_Form_Element_Checkbox (351)
    • Klasa Zend_Form_Element_File (351)
    • Klasa Zend_Form_Element_Hash (352)
    • Klasa Zend_Form_Element_Hidden (352)
    • Klasa Zend_Form_Element_Image (352)
    • Klasa Zend_Form_Element_Multi (353)
    • Klasa Zend_Form_Element_MultiCheckbox (353)
    • Klasa Zend_Form_Element_Multiselect (354)
    • Klasa Zend_Form_Element_Password (354)
    • Klasa Zend_Form_Element_Radio (354)
    • Klasa Zend_Form_Element_Reset (355)
    • Klasa Zend_Form_Element_Select (355)
    • Klasa Zend_Form_Element_Text (356)
    • Klasa Zend_Form_Element_Textarea (356)
    • Klasa Zend_Form_Element_Submit (356)

Rozdział 28. Przetwarzanie formularza, czyli implementacja interfejsu CRUD (359)

  • Formularz Application_Form_Imie (360)
  • Operacje dwuetapowe (361)
    • Tworzenie nowego rekordu (361)
    • Edycja rekordu (362)
  • Akcje interfejsu CRUD (362)
  • Adresy URL akcji CRUD (363)
  • Akcja index (363)
  • Akcja createform (365)
  • Akcja create (366)
  • Akcja delete (368)
  • Akcja edit (369)
  • Akcja update (370)
  • Akcja show (372)
  • Parametryzacja kontrolera CRUD (375)
  • Implementacja klasy My_Crud_Controller (378)

Rozdział 29. Dostosowywanie kodu HTML formularzy (383)

  • Domyślny kod HTML formularza klasy Zend_Form (383)
  • Funkcje pomocnicze formularzy (384)
  • Obiekty dekorujące i przebieg dekoracji (386)
  • Domyślne dekoratory klasy Zend_Form (388)
  • Domyślne dekoratory klasy Zend_Form_Element (389)
  • Proces generowania kodu HTML formularza (390)
  • Modyfikacja elementów form oraz dl (391)
  • Modyfikacja kodu HTML kontrolek formularza (392)
  • Modyfikacja identyfikatora znacznika form (395)
  • Definiowanie szablonu formularza (396)

Rozdział 30. Walidatory i filtry (399)

  • Filtrowanie i walidacja kontrolek formularza (400)
  • Interfejs Zend_Filter_Interface (400)
  • Klasa Zend_Validate_Abstract i jej pochodne (402)
  • Filtry i walidatory kontrolek (404)
    • Tytuł książki (404)
    • Rok wydania (405)
    • Badanie numeru miesiąca (406)
    • Badanie zależności pomiędzy kilkoma kontrolkami (407)
    • Sprawdzanie liczb rzymskich od I do X (409)
    • Walidacja kontrolek checkbox (410)
    • Sprawdzanie numeru ISBN (411)
    • Sprawdzanie poprawności liczby typu float (411)
    • Walidacja przy użyciu wyrażeń regularnych (411)
    • Walidator kontrolki CAPTCHA (412)

Rozdział 31. Przesyłanie plików na serwer (417)

Rozdział 32. Edycja zależności relacyjnych (427)

  • Klucze obce NOT NULL (427)
  • Klucze obce NULL (437)

Rozdział 33. Podsumowanie (445)

Część VI: Zabezpieczanie dostępu do aplikacji (447)

Rozdział 34. Pierwsza aplikacja zawierająca formularz do logowania (449)

  • Umieszczanie kont użytkowników w bazie danych (450)
  • Dodawanie konta (450)
  • Formularz do logowania (452)
  • Kontroler autoryzacyjny (454)
  • Czy użytkownik jest zalogowany? (457)
  • Zabezpieczanie dostępu do danych tylko dla zalogowanych użytkowników (457)

Rozdział 35. Zabezpieczanie haseł funkcjami skrótu (461)

    • Funkcja md5() (461)
    • Funkcja sha1() (462)
  • Skróty haseł (462)
  • Zmodyfikowana tabela user (463)
  • Dodawanie konta (464)
  • Kontroler autoryzacyjny (465)

Rozdział 36. Wysyłanie poczty (471)

  • Wysyłanie poczty przy użyciu Zend_Mail (471)
  • Obiektowa implementacja wysyłania listów z hasłami (474)

Rozdział 37. Rejestracja użytkowników (477)

  • Rejestracja użytkownika w systemie (478)
  • Resetowanie zapomnianego hasła (482)
  • Zmiana hasła (487)

Rozdział 38. Ograniczanie uprawnień użytkowników (493)

  • Przykładowe uprawnienia (494)
  • Czy użytkownik ma uprawnienia do wykonania akcji? (494)
  • Implementacja klasy My_Crud_Auth_Controller (496)
  • Modyfikacja kontrolera AuthController (498)
  • Polecenia nadające uprawnienia (499)
  • Ustalanie uprawnień poleceniami (502)
    • Polecenia allow-action-access i disallow-action-access (502)
    • Polecenia grant i revoke (502)
    • Polecenia set-readable i set-unreadable (502)
    • Polecenia grant-editor-rules i revoke-editor-rules (502)
    • Polecenia grant-reader-rules i revoke-reader-rules (503)
    • Polecenie clear (503)

Rozdział 39. Modularyzacja aplikacji (507)

  • Nazewnictwo klas zawartych w modułach (508)
  • Adresy URL akcji w module (509)

Rozdział 40. Podsumowanie (517)

Część VII: Dodatki (519)

Dodatek A: Użycie Doctrine w aplikacji Zend Framework (521)

  • Instalacja zf-doctrine (521)

Skorowidz (527)

  • Tytuł: Zend Framework od podstaw. Wykorzystaj gotowe rozwiązania PHP do tworzenia zaawansowanych aplikacji internetowych
  • Autor: Włodzimierz Gajda
  • ISBN: 978-83-246-3897-0, 9788324638970
  • Data wydania: 2011-12-12
  • Format: Ebook
  • Identyfikator pozycji: zendfr
  • Wydawca: Helion