reklama - zainteresowany?

PHP5. Zaawansowane programowanie - Helion

PHP5. Zaawansowane programowanie
Autor: Edward Lecky-Thompson, Heow Eide-Goodman, Steven D. Nowicki, Alec Cove
Tytuł oryginału: Professional PHP5
Tłumaczenie: Adam Byrtek, Jarosław Dobrzański, Paweł Gonera
ISBN: 83-7361-825-2
stron: 664, Format: B5, okładka: twarda
Data wydania: 2005-06-07
Księgarnia: Helion

Cena książki: 79,00 zł

Dodaj do koszyka PHP5. Zaawansowane programowanie

Tagi: PHP - Programowanie

PHP to język umożliwiający tworzenie aplikacji sieciowych uruchamianych po stronie serwera. Jego najnowsza wersja, oznaczona numerem 5, to w pełni obiektowy język, za pomocą którego można budować nawet najbardziej złożone systemy portalowe, intranetowe i ekstranetowe. Dzięki nowym funkcjom wprowadzonym w PHP 5 możliwe jest korzystanie z plików XML i protokołu SOAP, wydajna komunikacja z bazą danych i stosowanie technik obiektowych znacznie ułatwiających i przyspieszających tworzenie rozbudowanych aplikacji.

"PHP5. Zaawansowane programowanie" to książka przedstawiająca potężne możliwości i elastyczność najnowszej wersji tej popularnej platformy programistycznej. Opisuje podstawowe zasady programowania obiektowego i prowadzenia rozbudowanych projektów informatycznych. Zawiera informacje o modelowaniu aplikacji w języku UML, stosowaniu wzorców projektowych i tworzeniu narzędzi, które będzie można wykorzystać w każdym projekcie. Przedstawia również analizę prawdziwego przypadku -- systemu automatyzującego pracę działu sprzedaży w przedsiębiorstwie handlowym.

  • Programowanie obiektowe
  • JÄ™zyk UML i modelowanie systemów
  • Wzorce projektowe
  • Tworzenie prostych narzÄ™dzi obiektowych
  • PoÅ‚Ä…czenia z bazami danych
  • Model MVC
  • Stosowanie protokoÅ‚u SOAP
  • Komunikacja z użytkownikiem i mechanizmy sesji
  • Testowanie aplikacji
  • Studium przypadku - automatyzacja pracy dziaÅ‚u sprzedaży

Jeśli chcesz poznać zaawansowane możliwości PHP 5, sięgnij po tę książkę.

Dodaj do koszyka PHP5. Zaawansowane programowanie

 

Osoby które kupowały "PHP5. Zaawansowane programowanie", wybierały także:

  • PHP 8 Programming Tips, Tricks and Best Practices
  • Domain-Driven Design in PHP
  • PHP Microservices
  • Drupal 8 Module Development. Second edition
  • Mastering The Faster Web with PHP, MySQL, and JavaScript

Dodaj do koszyka PHP5. Zaawansowane programowanie

Spis treści

PHP5. Zaawansowane programowanie -- spis treści

O Autorach (13)

Wstęp (15)

Część I Technologia obiektowa (21)

Rozdział 1. Wprowadzenie do programowania obiektowego (23)

  • Czym jest programowanie obiektowe? (23)
    • Zalety programowania obiektowego (24)
    • PrzykÅ‚ad z życia (25)
  • PojÄ™cia zwiÄ…zane z programowaniem obiektowym (25)
    • Klasy (26)
    • Obiekty (27)
    • Dziedziczenie (36)
    • Interfejsy (45)
    • Hermetyzacja (48)
  • Zmiany w PHP5 dotyczÄ…ce programowania obiektowego (49)
  • Podsumowanie (50)

Rozdział 2. Unified Modeling Language (UML) (51)

  • Zbieranie wymagaÅ„ (51)
    • Rozmowa z klientem (52)
    • Diagramy przypadków użycia (53)
  • Diagramy klas (54)
    • Modelowanie dziedziny (55)
    • Relacje (56)
    • Implementacja (58)
  • Diagramy aktywnoÅ›ci (61)
  • Diagramy przebiegu (63)
  • Diagramy stanów (65)
  • Diagram komponentów i instalacji (66)
  • Podsumowanie (67)

Rozdział 3. Obiekty zaczynają działać (69)

  • Tworzenie menedżera kontaktów (69)
    • Diagramy UML dla menedżera kontaktów (70)
    • Klasa PropertyObject (74)
    • Klasy z informacjami kontaktowymi (76)
    • Klasa DataManager (80)
    • Klasy Entity, Individual i Organization (81)
    • Użycie systemu (88)
  • Podsumowanie (90)

Rozdział 4. Wzorce projektowe (91)

  • Wzorzec zÅ‚ożony (92)
    • Implementacja (93)
    • PrzemyÅ›lenia (97)
  • Wzorzec obserwatora (98)
    • Widget (98)
    • PrzemyÅ›lenia (104)
  • Wzorzec dekoratora (104)
    • Implementacja (106)
    • Korzystanie z dekoratora (107)
    • PrzemyÅ›lenia (108)
  • Wzorzec fasady (109)
  • Wzorzec budowniczego (111)
    • Implementacja (111)
    • PrzemyÅ›lenia (115)
  • Podsumowanie (115)

Część II Tworzenie obiektowego zestawu narzędziowego. Proste klasy i interfejsy (117)

Rozdział 5. Klasa Collection (119)

  • ZaÅ‚ożenia klasy Collection (119)
  • Projektowanie klasy Collection (120)
  • Fundamenty klasy Collection (121)
    • Metoda addItem (122)
    • Metody getItem i removeItem (123)
    • PozostaÅ‚e metody (123)
    • Użycie klasy Collection (124)
  • Implementacja leniwej konkretyzacji (125)
    • Funkcje zwrotne (126)
    • Metoda setLoadCallback w klasie Collection (130)
  • Wykorzystanie klasy Collection (133)
  • Ulepszanie klasy Collection (139)
  • Podsumowanie (139)

Rozdział 6. Klasa CollectionIterator (141)

  • Interfejs Iterator (141)
    • Klasa CollectionIterator (143)
  • Interfejs IteratorAggregate (144)
  • Ochrona zawartoÅ›ci iteratora (146)
  • Podsumowanie (147)

Rozdział 7. Klasa GenericObject (149)

  • Klasa GenericObject (149)
    • Kiedy korzystać z GenericObject? (150)
    • Na co pozwala GenericObject? (150)
    • Decyzje w sprawie implementacji (151)
    • Typowa implementacja GenericObject (152)
    • Poznawanie rodzica (154)
    • Współpraca z bazÄ… danych (157)
    • Metody i wÅ‚asnoÅ›ci GenericObject (159)
    • Zalety klasy GenericObject (161)
  • Klasa GenericObjectCollection (162)
    • Tradycyjna implementacja (163)
    • Kiedy tradycyjna implementacja zawodzi (163)
    • DziaÅ‚anie klasy GenericObjectCollection (164)
    • Kod klasy (165)
    • Typowa implementacja GenericObjectCollection (167)
    • Próba (168)
    • Jak to dziaÅ‚a? (168)
    • Podsumowanie klasy GenericObjectCollection (170)
  • Podsumowanie (171)

Rozdział 8. Warstwa abstrakcji dla bazy danych (173)

  • Czym jest warstwa abstrakcji? (174)
  • Prosta implementacja (174)
    • Plik konfiguracyjny (174)
    • NawiÄ…zywanie poÅ‚Ä…czenia (175)
    • Pobieranie danych (175)
    • Modyfikacja danych (176)
    • Korzystanie z klasy Database (178)
  • Wprowadzenie do PEAR DB (180)
    • NawiÄ…zywanie poÅ‚Ä…czenia za pomocÄ… DB (181)
    • Pobieranie danych (182)
    • Inne użyteczne funkcje (183)
    • WiÄ™cej informacji (186)
  • Gotowa warstwa abstrakcji (186)
    • ObsÅ‚uga transakcji (189)
    • Wzorzec projektowy Singleton (191)
  • Podsumowanie (193)

Rozdział 9. Interfejs fabryki (195)

  • Wzorzec fabryki (195)
  • PrzykÅ‚ad interfejsu fabryki (196)
    • RozwiÄ…zanie staromodne (196)
    • Wykorzystanie interfejsu fabryki (197)
    • Zastosowanie wzorca w abstrakcji bazy danych (198)
  • WiÄ™ksza liczba fabryk (200)
  • Wykorzystanie klas istniejÄ…cych (201)
  • Podsumowanie (201)

Rozdział 10. Programowanie oparte na zdarzeniach (203)

  • Czym sÄ… zdarzenia? (204)
  • Obiektowa obsÅ‚uga zdarzeÅ„ (205)
    • Projekt rozwiÄ…zania (205)
    • Implementacja rozwiÄ…zania (207)
    • Implementacja zabezpieczeÅ„ (211)
    • Chwila zastanowienia (213)
  • Podsumowanie (214)

Rozdział 11. Pliki dziennika i debugowanie (215)

  • Tworzenie mechanizmu logowania (215)
    • Proste logowanie do pliku (215)
    • PrzykÅ‚adowa struktura katalogów (216)
    • Klasa Logger (217)
    • Rozbudowa klasy Logger (221)
  • Mechanizm debugowania (231)
  • Podsumowanie (234)

Rozdział 12. SOAP (235)

  • SOAP i PHP5 (235)
    • Rozszerzenie PHP5 SOAP (236)
  • Klient SOAP (239)
    • Za kulisami (241)
    • ObsÅ‚uga wyjÄ…tków w kliencie SOAP (245)
  • Serwer SOAP (246)
  • Podsumowanie (248)

Część III Tworzenie zestawu narzędzi do wielokrotnego wykorzystania. Narzędzia złożone (choć nieskomplikowane) (249)

Rozdział 13. Model, widok, kontroler (MVC) (251)

  • Wprowadzenie do MVC (252)
    • Model (253)
    • Widok (253)
    • Kontroler (253)
    • Infrastruktura (253)
    • MVC w aplikacjach WWW (253)
    • MVC w PHP (254)
  • MaÅ‚y zestaw narzÄ™dzi MVC (256)
    • Prezentacja zestawu narzÄ™dzi (256)
    • Korzystanie z zestawu narzÄ™dzi (268)
    • Zestaw narzÄ™dzi a praktyka (275)
  • Prawdziwe szablony (275)
    • Powtórka z szablonów macierzystych PHP (275)
    • Wady szablonów macierzystych (276)
    • Prawdziwe szablony a szablony pakietu Smarty (276)
    • Instalowanie pakietu Smarty (277)
    • Korzystanie z pakietu Smarty (278)
    • Zaawansowane możliwoÅ›ci pakietu Smarty (283)
    • Kiedy korzystać z pakietu Smarty, a kiedy z tradycyjnych szablonów? (285)
  • Podsumowanie (285)

Rozdział 14. Komunikacja z użytkownikami (287)

  • Po co siÄ™ komunikować? (287)
    • Powody komunikowania siÄ™ z użytkownikiem (288)
    • MyÅ›lenie wykraczajÄ…ce poza przeglÄ…darkÄ™ WWW (290)
  • Formy komunikacji (291)
    • Wszystkie formy komunikacji majÄ…... (291)
    • Nie wszystkie formy komunikacji majÄ…... (291)
    • Co z adresatami? (291)
  • Komunikacja jako hierarchia klas (292)
    • Klasa adresata - szybki sprawdzian z myÅ›lenia obiektowego (292)
    • Klasa Communication (296)
  • WysyÅ‚anie wiadomoÅ›ci do użytkowników naszej witryny (298)
    • Tworzenie wersji testowej (298)
    • WysyÅ‚anie wiadomoÅ›ci (302)
    • Zastosowanie szablonów przy wykorzystaniu pakietu Smarty (307)
    • Korzystanie z MIME (309)
  • Inne podklasy klasy Communication (309)
    • WiadomoÅ›ci tekstowe SMS (309)
    • Faks (310)
  • Podsumowanie (310)

Rozdział 15. Sesje i uwierzytelnianie (311)

  • Wprowadzenie do sesji (312)
    • Krótka powtórka z protokoÅ‚u HTTP (312)
    • Definicja sesji (314)
    • CiÄ…gÅ‚ość sesji (314)
    • BezpieczeÅ„stwo sesji (317)
  • Jak PHP implementuje sesje? (324)
    • Podstawowy mechanizm sesji w PHP (324)
    • Ograniczenia podstawowego mechanizmu sesji w PHP (326)
  • Tworzenie klasy Authentication (327)
    • PoÅ‚Ä…czenie zarzÄ…dzania sesjami PHP z bazÄ… danych (327)
    • Klasa UserSession (329)
    • Schemat bazy danych (329)
    • Kod - usersession.phpm (330)
    • Kod - testowanie klasy UserSession (334)
    • Jak to dziaÅ‚a - klasa UserSession (336)
    • Co otrzymaliÅ›my? (339)
  • Podsumowanie (339)

Rozdział 16. Szkielet do testowania modułów (341)

  • Metodologia i terminologia (341)
    • Projektowanie interfejsu klasy (342)
    • Tworzenie pakietu testowego dla klasy (343)
    • Pisanie implementacji naszej klasy (344)
    • Druga tura (345)
  • Wprowadzenie do PHPUnit (345)
    • Instalacja PHPUnit (345)
  • Korzystanie z PHPUnit (346)
    • Przypadki testowania (346)
    • Pakiet testujÄ…cy (349)
  • Czy warto? (349)
    • Powtórne testy (350)
    • Użyteczność szkieletu (350)
    • Demonstrowalny mechanizm zapewniania jakoÅ›ci (350)
    • Redukcja obciążenia testami funkcjonalnymi (351)
  • Praktyczny przykÅ‚ad (351)
  • Podsumowanie (356)

Rozdział 17. Automat skończony i modyfikowalne pliki konfiguracyjne (357)

  • Koncepcja automatu skoÅ„czonego (358)
    • Prosty AS - kalkulator ONP (359)
    • Teoretyczna implementacja AS (360)
    • Implementacja automatów skoÅ„czonych w PHP (361)
    • Analiza przykÅ‚adu z kalkulatorem ONP (363)
    • PrzykÅ‚ady automatów skoÅ„czonych w praktyce (366)
  • Modyfikowalne pliki konfiguracyjne (367)
    • Zastosowanie PHP (367)
    • Zastosowanie XML-a (368)
    • Korzystanie z plików INI (369)
    • Klasa Config z PEAR (371)
    • Zalecane praktyki zwiÄ…zane z plikami konfiguracyjnymi (372)
  • Podsumowanie (373)

Część IV Studium przypadku - automatyzacja działu sprzedaży (375)

Rozdział 18. Przegląd projektu (377)

  • Artykulandia (378)
  • Krajobraz Artykulandii (380)
    • Wymiar techniczny (380)
    • Wymiar finansowy (380)
    • Wymiar polityczny (380)
    • My (380)
    • Czy rzeczywiÅ›cie chodzi o technologiÄ™? (381)
  • PodejÅ›cie do budowy oprogramowania (381)
    • Jakie konsekwencje ma to dla nas? (383)
    • Technologia (384)
  • Podsumowanie (385)

Rozdział 19. Metody zarządzania projektami (387)

  • WstÄ™pne rozeznanie (387)
    • Dlaczego realizujemy projekt? (388)
    • Dla kogo realizujemy projekt? (388)
    • Jaka jest historia projektu? (390)
    • Jakie sÄ… oczekiwane warunki wstÄ™pne projektu? (390)
  • Odbieranie formalnych wytycznych (391)
    • Wymogi obszaru dziaÅ‚alnoÅ›ci (392)
    • Zakres (393)
    • Harmonogramy (394)
    • Budżet (395)
    • Warunki handlowe (397)
    • Plany na przyszÅ‚ość (398)
    • WyglÄ…d i obsÅ‚uga (398)
    • Technologia (398)
    • ObsÅ‚uga (399)
    • Co dalej? (399)
  • Konstruowanie oferty (399)
    • Konspekty kontra oferty cenowe (399)
    • Oferty w formie konspektu a specyfikacje (400)
    • Kogo zaangażować w tworzenie oferty? (401)
    • Kiedy można dać z siebie wiÄ™cej? (401)
    • Kiedy powiedzieć "nie"? (402)
    • Struktura oferty (402)
  • Wybieranie ludzi (404)
    • Menedżer projektu (404)
    • Account manager (404)
    • Główny architekt (405)
    • Architekci i inżynierowie oprogramowania (406)
    • ProgramiÅ›ci interfejsu klienckiego (406)
    • Starsi projektanci (406)
    • Graficy (406)
    • Podwójne role (407)
    • Sposób pracy (407)
    • Rola klienta (407)
  • Podsumowanie (408)

Rozdział 20. Planowanie systemu (409)

  • Wybór procesu (409)
    • Proces kaskadowy (409)
    • Proces spiralny (410)
    • Wybór procesu (412)
  • Praktyki wspólne dla obydwu procesów (412)
    • Faza specyfikacji (412)
    • Faza projektowania (415)
    • Faza budowy (416)
    • Faza testowania (417)
    • Odbiór (418)
  • Metodyki i praktyki programowania (418)
    • Programowanie inicjowane testami (418)
    • Programowanie ekstremalne (419)
  • ZarzÄ…dzanie zmianami (422)
    • Rewizje specyfikacji (422)
    • Zmiany w specyfikacji, które pojawiajÄ… siÄ™ po jej podpisaniu (422)
    • Dyskusje wynikajÄ…ce z różnych interpretacji (423)
    • BÅ‚Ä™dy zgÅ‚oszone przez klienta (423)
  • Podsumowanie (423)

Rozdział 21. Architektura systemów (425)

  • Czym jest architektura systemu? (425)
    • Dlaczego to takie ważne? (426)
    • Co musimy zrobić? (426)
  • Efektywne tÅ‚umaczenie wymagaÅ„ (427)
    • Hosting, Å‚Ä…cza, serwery i sieć (427)
    • Nadmiarowość i elastyczność (428)
    • Utrzymanie (428)
    • BezpieczeÅ„stwo (429)
  • Projektowanie Å›rodowiska (429)
    • Hosting i Å‚Ä…cza (429)
    • Obliczanie parametru CIR (430)
    • Serwery (432)
    • Sieć (434)
    • Zapis nadmiarowy (434)
    • Utrzymanie (435)
    • BezpieczeÅ„stwo (435)
  • Podsumowanie (436)

Rozdział 22. Tworzenie aplikacji automatyzującej pracę zespołu sprzedaży (437)

  • Rozpoczynamy projekt - poniedziaÅ‚ek (438)
    • Zamieniamy siÄ™ w sÅ‚uch (438)
    • Oszacowanie wagi scenariuszy (440)
    • Planowanie wersji (447)
  • Rozpoczynamy pracÄ™ (448)
    • Opis szczegółów scenariusza nr 9 (448)
    • Tworzenie testów (449)
    • PHPUnit (450)
    • Tworzenie ekranu logowania (457)
    • NastÄ™pny scenariusz (460)
    • Ponowne oszacowanie (469)
  • PorzÄ…dki (471)
    • Refaktoring kodu (472)
  • KoÅ„czenie iteracji (478)
    • Scenariusz nr 14. Zmiana tygodnia powoduje odczytanie poprzedniego (478)
    • Scenariusz nr 15. Tygodniowe pola na raporcie wizyt klienta (480)
  • Raport kosztów podróży (487)
    • SkÅ‚adnik kosztów podróży (489)
    • Tygodniowe koszty podróży (492)
    • Narzut (494)
    • Kolejne testy tygodniowych kosztów podróży (495)
    • WypeÅ‚nianie testów tygodniowego arkusza kosztów podróży (498)
  • ZakoÅ„czony raport kosztów podróży (510)
  • Obiekty fikcyjne (522)
  • Podsumowanie (527)

Rozdział 23. Zapewnienie jakości (529)

  • Wprowadzenie do QA (529)
    • Dlaczego warto siÄ™ starać? (530)
    • Co to jest jakość? (531)
    • Wymierna jakość (532)
  • Testowanie (534)
    • Testowanie modułów (535)
    • Testowanie funkcjonalne (535)
    • Testowanie obciążenia (537)
    • Testowanie użytecznoÅ›ci (537)
  • Åšledzenie bÅ‚Ä™dów (538)
    • Efektywne Å›ledzenie bÅ‚Ä™dów z wykorzystaniem systemu Mantis (539)
    • Wykorzystanie wszystkich możliwoÅ›ci Mantis (546)
  • Podsumowanie (546)

Rozdział 24. Instalacja (549)

  • Opracowywanie Å›rodowiska programistycznego (549)
    • Firmowe Å›rodowisko rozwojowe (550)
    • Firmowe Å›rodowisko testowe (551)
    • Åšrodowisko testowe klienta (551)
    • Åšrodowisko produkcyjne klienta (552)
    • Rozwojowe bazy danych (553)
  • Organizacja wdrożenia (554)
    • Automatyczne pobieranie z repozytorium kontroli wersji (556)
    • Zastosowanie rsync (557)
    • Synchronizacja serwerów za pomocÄ… rsync (559)
  • Podsumowanie (561)

Rozdział 25. Projektowanie i tworzenie solidnej platformy raportującej (563)

  • Wprowadzenie do danych roboczych (563)
    • Poznajemy potrzeby klienta (564)
    • ZarzÄ…dzanie żądaniami klientów (564)
    • Dostarczanie raportów (566)
    • Projektowanie raportu (566)
  • Architektura generatora raportów (569)
    • Generowanie raportów w tle (571)
    • Interfejs raportów (573)
    • Interfejs nowego raportu (574)
    • Skrypt procesora raportów (578)
    • Proces (578)
    • Skrypty obsÅ‚ugi raportów (579)
    • Strona Moje raporty (581)
    • Skrypty tÅ‚umaczÄ…ce (581)
    • PrzykÅ‚ad użycia platformy raportowej (583)
    • Wizualizacja (584)
  • Podsumowanie (585)

Rozdział 26. Co dalej? (587)

  • Motywacja (587)
  • Twoja kariera programisty (588)
    • WiÄ™cej niż tylko programowanie WWW (588)
    • UmiejÄ™tnoÅ›ci miÄ™kkie (589)
    • UmiejÄ™tnoÅ›ci teoretyczne (589)
    • UmiejÄ™tnoÅ›ci spoÅ‚eczne (589)
  • Podsumowanie (590)

Dodatki (591)

Dodatek A Dlaczego warto korzystać z kontroli wersji (593)

Dodatek B IDE dla PHP (607)

Dodatek C Strojenie wydajności PHP (621)

Dodatek D Najlepsze praktyki przy instalacji PHP (633)

Skorowidz (645)

Dodaj do koszyka PHP5. Zaawansowane programowanie

Code, Publish & WebDesing by CATALIST.com.pl



(c) 2005-2024 CATALIST agencja interaktywna, znaki firmowe należą do wydawnictwa Helion S.A.