Książka – Zend Framework od podstaw (z aktualizacją wpisu)

Przeglądając dzisiaj zasoby internetu w poszukiwaniu ciekawych informacji na temat Zend Framework natknąłem się na stronę Helionu, gdzie pokazana jest książka, która ma trafić na półki w listopadzie 2011.

zendfr.jpg

Tytuł tej książki to: „Zend Framework od podstaw. Wykorzystaj gotowe rozwiązania PHP do tworzenia zaawansowanych aplikacji internetowych”.
Czytając opis książki muszę przyznać, że zaciekawiła mnie ta pozycja. Jeśli informacje, które podane są tam na stronie zostaną w przejżysty sposób wyjaśnione, to książka może się okazać na prawdę dużym hitem dla początkjących programistów Zend Framework, choć i bardziej zaawansowani znajdą coś dla siebie.

 

Link do książki: http://helion.pl/ksiazki/zend-framework-od-podstaw-wykorzystaj-gotowe-rozwiazania-php-do-tworzenia-zaawansowanych-aplikacji-internetowych-wlodzimierz-gajda,zendfr.htm
Poczekamy do listopada i zobaczymy co jest książka warta :)

 

AKTUALIZACJA!

Książka jest w przedsprzedaży. Zamieszczam spis treści:

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)