Zacznij tam, gdzie inni kończą! PHP jest obecnie najpopularniejszym językiem programowania aplikacji internetowych, a jego znajomość staje się koniecznością dla każdego programisty. "PHP Zaawansowane programowanie" zapozna Cię z nowymi możliwościami wersji 5.3.x, takimi jak przestrzenie nazw, funkc
PHP5. Zaawansowane programowanie
✍ Scribed by Edward Lecky-Thompson, Heow Eide-Goodman, Steven D. Nowicki, Alec Cove
- Publisher
- Helion
- Year
- 2005
- Tongue
- Polish
- Leaves
- 662
- Category
- Library
No coin nor oath required. For personal study only.
✦ Synopsis
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
✦ Table of Contents
Spis treści
O Autorach
Wstep
Czesc I Technologia obiektowa
Rozdział 1. Wprowadzenie do programowania obiektowego
Czym jest programowanie obiektowe?
Zalety programowania obiektowego
Przykład z zycia
Pojecia zwiazane z programowaniem obiektowym
Klasy
Obiekty
Dziedziczenie
Interfejsy
Hermetyzacja
Zmiany w PHP5 dotyczace programowania obiektowego
Podsumowanie
Rozdział 2. Unified Modeling Language (UML)
Zbieranie wymagan
Rozmowa z klientem
Diagramy przypadków uzycia
Diagramy klas
Modelowanie dziedziny
Relacje
Implementacja
Diagramy aktywnosci
Diagramy przebiegu
Diagramy stanów
Diagram komponentów i instalacji
Podsumowanie
Rozdział 3. Obiekty zaczynaja działac
Tworzenie menedzera kontaktów
Diagramy UML dla menedzera kontaktów
Klasa PropertyObject
Klasy z informacjami kontaktowymi
Klasa DataManager
Klasy Entity, Individual i Organization
Uzycie systemu
Podsumowanie
Rozdział 4. Wzorce projektowe
Wzorzec złozony
Implementacja
Przemyslenia
Wzorzec obserwatora
Widget
Przemyslenia
Wzorzec dekoratora
Implementacja
Korzystanie z dekoratora
Przemyslenia
Wzorzec fasady
Wzorzec budowniczego
Implementacja
Przemyslenia
Podsumowanie
Czesc II Tworzenie obiektowego zestawu narzedziowego. Proste klasy i interfejsy
Rozdział 5. Klasa Collection
Załozenia klasy Collection
Projektowanie klasy Collection
Fundamenty klasy Collection
Metoda addItem
Metody getItem i removeItem
Pozostałe metody
Uzycie klasy Collection
Implementacja leniwej konkretyzacji
Funkcje zwrotne
Metoda setLoadCallback w klasie Collection
Wykorzystanie klasy Collection
Ulepszanie klasy Collection
Podsumowanie
Rozdział 6. Klasa CollectionIterator
Interfejs Iterator
Klasa CollectionIterator
Interfejs IteratorAggregate
Ochrona zawartosci iteratora
Podsumowanie
Rozdział 7. Klasa GenericObject
Klasa GenericObject
Kiedy korzystac z GenericObject?
Na co pozwala GenericObject?
Decyzje w sprawie implementacji
Typowa implementacja GenericObject
Poznawanie rodzica
Współpraca z baza danych
Metody i własnosci GenericObject
Zalety klasy GenericObject
Klasa GenericObjectCollection
Tradycyjna implementacja
Kiedy tradycyjna implementacja zawodzi
Działanie klasy GenericObjectCollection
Kod klasy
Typowa implementacja GenericObjectCollection
Próba
Jak to działa?
Podsumowanie klasy GenericObjectCollection
Podsumowanie
Rozdział 8. Warstwa abstrakcji dla bazy danych
Czym jest warstwa abstrakcji?
Prosta implementacja
Plik konfiguracyjny
Nawiazywanie połaczenia
Pobieranie danych
Modyfikacja danych
Korzystanie z klasy Database
Wprowadzenie do PEAR DB
Nawiazywanie połaczenia za pomoca DB
Pobieranie danych
Inne uzyteczne funkcje
Wiecej informacji
Gotowa warstwa abstrakcji
Obsługa transakcji
Wzorzec projektowy Singleton
Podsumowanie
Rozdział 9. Interfejs fabryki
Wzorzec fabryki
Przykład interfejsu fabryki
Rozwiazanie staromodne
Wykorzystanie interfejsu fabryki
Zastosowanie wzorca w abstrakcji bazy danych
Wieksza liczba fabryk
Wykorzystanie klas istniejacych
Podsumowanie
Rozdział 10. Programowanie oparte na zdarzeniach
Czym sa zdarzenia?
Obiektowa obsługa zdarzen
Projekt rozwiazania
Implementacja rozwiazania
Implementacja zabezpieczen
Chwila zastanowienia
Podsumowanie
Rozdział 11. Pliki dziennika i debugowanie
Tworzenie mechanizmu logowania
Proste logowanie do pliku
Przykładowa struktura katalogów
Klasa Logger
Rozbudowa klasy Logger
Mechanizm debugowania
Podsumowanie
Rozdział 12. SOAP
SOAP i PHP5
Rozszerzenie PHP5 SOAP
Klient SOAP
Za kulisami
Obsługa wyjatków w kliencie SOAP
Serwer SOAP
Podsumowanie
Czesc III Tworzenie zestawu narzedzi do wielokrotnego wykorzystania. Narzedzia złożone (choc nieskomplikowane)
Rozdział 13. Model, widok, kontroler (MVC)
Wprowadzenie do MVC
Model
Widok
Kontroler
Infrastruktura
MVC w aplikacjach WWW
MVC w PHP
Mały zestaw narzedzi MVC
Prezentacja zestawu narzedzi
Korzystanie z zestawu narzedzi
Zestaw narzedzi a praktyka
Prawdziwe szablony
Powtórka z szablonów macierzystych PHP
Wady szablonów macierzystych
Prawdziwe szablony a szablony pakietu Smarty
Instalowanie pakietu Smarty
Korzystanie z pakietu Smarty
Zaawansowane mozliwosci pakietu Smarty
Kiedy korzystac z pakietu Smarty, a kiedy z tradycyjnych szablonów?
Podsumowanie
Rozdział 14. Komunikacja z użytkownikami
Po co sie komunikowac?
Powody komunikowania sie z uzytkownikiem
Myslenie wykraczajace poza przegladarke WWW
Formy komunikacji
Wszystkie formy komunikacji maja…
Nie wszystkie formy komunikacji maja…
Co z adresatami?
Komunikacja jako hierarchia klas
Klasa adresata — szybki sprawdzian z myslenia obiektowego
Klasa Communication
Wysyłanie wiadomosci do uzytkowników naszej witryny
Tworzenie wersji testowej
Wysyłanie wiadomosci
Zastosowanie szablonów przy wykorzystaniu pakietu Smarty
Korzystanie z MIME
Inne podklasy klasy Communication
Wiadomosci tekstowe SMS
Faks
Podsumowanie
Rozdział 15. Sesje i uwierzytelnianie
Wprowadzenie do sesji
Krótka powtórka z protokołu HTTP
Definicja sesji
Ciagłosc sesji
Bezpieczenstwo sesji
Jak PHP implementuje sesje?
Podstawowy mechanizm sesji w PHP
Ograniczenia podstawowego mechanizmu sesji w PHP
Tworzenie klasy Authentication
Połaczenie zarzadzania sesjami PHP z baza danych
Klasa UserSession
Schemat bazy danych
Kod — usersession.phpm
Kod — testowanie klasy UserSession
Jak to działa — klasa UserSession
Co otrzymalismy?
Podsumowanie
Rozdział 16. Szkielet do testowania modułów
Metodologia i terminologia
Projektowanie interfejsu klasy
Tworzenie pakietu testowego dla klasy
Pisanie implementacji naszej klasy
Druga tura
Wprowadzenie do PHPUnit
Instalacja PHPUnit
Korzystanie z PHPUnit
Przypadki testowania
Pakiet testujacy
Czy warto?
Powtórne testy
Uzytecznosc szkieletu
Demonstrowalny mechanizm zapewniania jakosci
Redukcja obciazenia testami funkcjonalnymi
Praktyczny przykład
Podsumowanie
Rozdział 17. Automat skonczony i modyfikowalne pliki konfiguracyjne
Koncepcja automatu skonczonego
Prosty AS — kalkulator ONP
Teoretyczna implementacja AS
Implementacja automatów skonczonych w PHP
Analiza przykładu z kalkulatorem ONP
Przykłady automatów skonczonych w praktyce
Modyfikowalne pliki konfiguracyjne
Zastosowanie PHP
Zastosowanie XML-a
Korzystanie z plików INI
Klasa Config z PEAR
Zalecane praktyki zwiazane z plikami konfiguracyjnymi
Podsumowanie
Czesc IV Studium przypadku — automatyzacja działu sprzedaży
Rozdział 18. Przeglad projektu
Artykulandia
Krajobraz Artykulandii
Wymiar techniczny
Wymiar finansowy
Wymiar polityczny
My
Czy rzeczywiscie chodzi o technologie?
Podejscie do budowy oprogramowania
Jakie konsekwencje ma to dla nas?
Technologia
Podsumowanie
Rozdział 19. Metody zarzadzania projektami
Wstepne rozeznanie
Dlaczego realizujemy projekt?
Dla kogo realizujemy projekt?
Jaka jest historia projektu?
Jakie sa oczekiwane warunki wstepne projektu?
Odbieranie formalnych wytycznych
Wymogi obszaru działalnosci
Zakres
Harmonogramy
Budzet
Warunki handlowe
Plany na przyszłosc
Wyglad i obsługa
Technologia
Obsługa
Co dalej?
Konstruowanie oferty
Konspekty kontra oferty cenowe
Oferty w formie konspektu a specyfikacje
Kogo zaangazowac w tworzenie oferty?
Kiedy mozna dac z siebie wiecej?
Kiedy powiedziec „nie”?
Struktura oferty
Wybieranie ludzi
Menedzer projektu
Account manager
Główny architekt
Architekci i inzynierowie oprogramowania
Programisci interfejsu klienckiego
Starsi projektanci
Graficy
Podwójne role
Sposób pracy
Rola klienta
Podsumowanie
Rozdział 20. Planowanie systemu
Wybór procesu
Proces kaskadowy
Proces spiralny
Wybór procesu
Praktyki wspólne dla obydwu procesów
Faza specyfikacji
Faza projektowania
Faza budowy
Faza testowania
Odbiór
Metodyki i praktyki programowania
Programowanie inicjowane testami
Programowanie ekstremalne
Zarzadzanie zmianami
Rewizje specyfikacji
Zmiany w specyfikacji, które pojawiaja sie po jej podpisaniu
Dyskusje wynikajace z róznych interpretacji
Błedy zgłoszone przez klienta
Podsumowanie
Rozdział 21. Architektura systemów
Czym jest architektura systemu?
Dlaczego to takie wazne?
Co musimy zrobic?
Efektywne tłumaczenie wymagan
Hosting, łacza, serwery i siec
Nadmiarowosc i elastycznosc
Utrzymanie
Bezpieczenstwo
Projektowanie srodowiska
Hosting i łacza
Obliczanie parametru CIR
Serwery
Siec
Zapis nadmiarowy
Utrzymanie
Bezpieczenstwo
Podsumowanie
Rozdział 22. Tworzenie aplikacji automatyzujacej prace zespołu sprzedaży
Rozpoczynamy projekt — poniedziałek
Zamieniamy sie w słuch
Oszacowanie wagi scenariuszy
Planowanie wersji
Rozpoczynamy prace
Opis szczegółów scenariusza nr 9
Tworzenie testów
PHPUnit
Tworzenie ekranu logowania
Nastepny scenariusz
Ponowne oszacowanie
Porzadki
Refaktoring kodu
Konczenie iteracji
Scenariusz nr 14. Zmiana tygodnia powoduje odczytanie poprzedniego
Scenariusz nr 15. Tygodniowe pola na raporcie wizyt klienta
Raport kosztów podrózy
Składnik kosztów podrózy
Tygodniowe koszty podrózy
Narzut
Kolejne testy tygodniowych kosztów podrózy
Wypełnianie testów tygodniowego arkusza kosztów podrózy
Zakonczony raport kosztów podrózy
Obiekty fikcyjne
Podsumowanie
Rozdział 23. Zapewnienie jakosci
Wprowadzenie do QA
Dlaczego warto sie starac?
Co to jest jakosc?
Wymierna jakosc
Testowanie
Testowanie modułów
Testowanie funkcjonalne
Testowanie obciazenia
Testowanie uzytecznosci
Sledzenie błedów
Efektywne sledzenie błedów z wykorzystaniem systemu Mantis
Wykorzystanie wszystkich mozliwosci Mantis
Podsumowanie
Rozdział 24. Instalacja
Opracowywanie srodowiska programistycznego
Firmowe srodowisko rozwojowe
Firmowe srodowisko testowe
Srodowisko testowe klienta
Srodowisko produkcyjne klienta
Rozwojowe bazy danych
Organizacja wdrozenia
Automatyczne pobieranie z repozytorium kontroli wersji
Zastosowanie rsync
Synchronizacja serwerów za pomoca rsync
Podsumowanie
Rozdział 25. Projektowanie i tworzenie solidnej platformy raportujacej
Wprowadzenie do danych roboczych
Poznajemy potrzeby klienta
Zarzadzanie zadaniami klientów
Dostarczanie raportów
Projektowanie raportu
Architektura generatora raportów
Generowanie raportów w tle
Interfejs raportów
Interfejs nowego raportu
Skrypt procesora raportów
Proces
Skrypty obsługi raportów
Strona Moje raporty
Skrypty tłumaczace
Przykład uzycia platformy raportowej
Wizualizacja
Podsumowanie
Rozdział 26. Co dalej?
Motywacja
Twoja kariera programisty
Wiecej niz tylko programowanie WWW
Umiejetnosci miekkie
Umiejetnosci teoretyczne
Umiejetnosci społeczne
Podsumowanie
Dodatki
Dodatek A Dlaczego warto korzystac z kontroli wersji
Dodatek B IDE dla PHP
Dodatek C Strojenie wydajnosci PHP
Dodatek D Najlepsze praktyki przy instalacji PHP
Skorowidz
📜 SIMILAR VOLUMES
Rozpocznij tworzenie łatwych w obsłudze, zgodnych ze standardami oraz oferujących najlepszą wydajność aplikacji sieciowych na platformie opracowanej przez Microsoft Platforma ASP.NET MVC powstała jako alternatywa dla ASP.NET Web Forms. Dzięki zastosowaniu architektury model-widok-kontroler (ang. Mo
Drupal to nie tylko kolejny, nieco lepszy od innych CMS. Ten system zarządzania treścią zrobił ostatnio oszałamiającą karierę jako doskonały framework do tworzenia wszelkiej maści aplikacji internetowych. Dzięki niezwykłej łatwości i szybkości, z jaką Drupal pozwala programistom tworzyć rozbudowane
Programowanie procesorów graficznych (GPU) staje się coraz popularniejsze. Dzieje się tak przede wszystkim z powodu dynamicznie rozwijającego się rynku gier i zapotrzebowania na deweloperów w tej dziedzinie, ale również z powodu dużych możliwości obliczeniowych dostarczanych przez te układy. Shad
Naucz się definiować właściwości obiektów Stwórz kod, który będzie łatwy w zarządzaniu Zbuduj wydajną i bezpieczną aplikację Programowanie obiektowe (OOP) wciąż zyskuje rzesze nowych zwolenników. Ponieważ opiera się ono na klasach i obiektach, jest znacznie bardziej intuicyjne niż programowanie s
Kurs zaawansowanych technik programistycznych w języku PHP Programowanie obiektowe Komunikacja z bazami danych Korzystanie z technologii Ajax PHP to dziś jeden z najpopularniejszych języków programowania stosowanych do tworzenia aplikacji i witryn internetowych. Za jego pomocą powstały setki tys