PHP. Programowanie obiektowe

Autor: Peter Lavin

Szczegóły książki w Helionie
Tytuł oryginału: Object Oriented PHP
ISBN: 978-83-246-0697-9
Cena: 34 zł
Zniżka: 10%
Cena ze zniżką: 30.6 zł
Oprawa: miękka
Format: B5
Data wydania: 2007.02.21
Liczba stron: 232
Przykładowy rozdział: ftp://ftp.helion.pl/online/phppro/phppro-3.pdf
Kategoria: PHP

Język PHP od dawna cieszy się zasłużonym uznaniem wśród twórców witryn WWW i aplikacji internetowych. Prosta składnia, ogromne możliwości i dostęp na licencji open-source przysporzyły mu liczne grono zwolenników. W najnowszej wersji PHP, oznaczonej numerem 5, twórcy języka wprowadzili kolejną ciekawą i niezwykle użyteczną cechę -- programowanie obiektowe. Otwiera to przed programistami nowe możliwości tworzenia wydajnych i bezpiecznych aplikacji. Dla tych, którzy nie znają jeszcze zasad programowania obiektowego, PHP 5 jest idealnym narzędziem do nauki, bowiem stosowany w nim model obiektowy jest niezwykle prosty i czytelny.

"PHP. Programowanie obiektowe" to świetny podręcznik, dzięki któremu opanujesz możliwości i sekrety tej techniki. Czytając go, poznasz nie tylko język PHP 5, ale także ogólne zasady programowania obiektowego. Dowiesz się, czym są obiekt, klasa, konstruktor, destruktor, dziedziczenie, polimorfizm i interfejs. Nauczysz się tworzyć własne klasy i korzystać z nich w projektach. Przeczytasz także o komunikacji z bazą danych, stosowaniu języka XML, protokołu SOAP oraz zaznajomisz się z automatycznym tworzeniem dokumentacji kodu.

  • Podstawy programowania obiektowego
  • Obiektowe cechy PHP 5
  • Tworzenie klas
  • Połączenia z bazami danych
  • Dziedziczenie i interfejsy
  • Przetwarzanie kanałów RSS
  • Korzystanie z protokołu SOAP
  • Generowanie dokumentacji za pomocą klas Reflection
  • Praca z SQLite

Jeśli chcesz poznać PHP 5 i zasady programowania obiektowego,
ta książka jest właśnie dla Ciebie.

PHP. Programowanie obiektowe -- spis treści

Podziękowania (11)

Wstęp (13)

1. Jakąż splątaną sieć pleciemy (21)

  • Czy naprawdę potrzebujemy obiektów? (22)
    • Tylko język skryptowy (22)
    • Obiekty tylko dla wielkich (23)
    • Zostawcie go w spokoju (24)
    • Zwiększona złożoność (24)
  • Kultura PHP (24)

2. Podstawy programowania obiektowego (27)

  • Klasa (28)
    • Klasy kontra rekordy (28)
    • Spójna całość (28)
    • Obiekty są instancjami (29)
  • Obiekty potrzebują modyfikatorów dostępu (29)
  • Ponowne wykorzystanie obiektu i dziedziczenie (30)
    • Dziedziczenie wielokrotne (30)
    • Mieć ciastko i zjeść ciastko (30)
  • Co dalej? (31)

3. Nowe cechy obiektowe w PHP 5 (33)

  • Modyfikatory dostępu (34)
  • Klasy wbudowane (34)
    • Wyjątki (35)
    • Klasy baz danych (35)
    • Usługi internetowe (35)
    • Klasy Reflection (36)
    • Iterator (36)
  • Wsteczna kompatybilność (36)
    • Przekazany przez referencję (37)
    • Prognozy (37)
  • Co dalej? (38)
    • Adaptacja PHP 5 (38)
    • Kompromis (39)

4. Pokaż odrobinę klasy (41)

  • Projekt (42)
    • Definiowanie problemu (42)
  • Niekoniecznie kod Leonarda (43)
    • Konstruktor (44)
    • Odwoływanie się do zmiennych wystąpienia (44)
    • Metody osłonowe (45)
  • Tworzenie egzemplarza (46)
  • Co osiągnęliśmy? (47)
  • Ale czy poleci? (48)

5. Zmieńmy naszą klasę (49)

  • Przejście do PHP 5 (49)
    • Modyfikatory dostępu (50)
    • Konstruktor (52)
  • Modyfikowanie klasy (53)
    • Przebudowa konstruktora (53)
    • Filtrowanie zawartości (55)
    • Przywrócenie pierwotnej postaci tablicy (57)
  • Podsumowanie zmian (58)

6. Klasa ThumbnailImage (59)

  • Zadania Projektanta (60)
    • Naśladowanie Projektanta (60)
    • Pomoc ze strony funkcji PHP (60)
  • Klasa ThumbnailImage (61)
    • Dane składowe (61)
    • Przebudowa konstruktora (61)
    • Dwa sposoby skonstruowania obiektu (62)
    • Zachowanie wewnętrzne - metody prywatne (63)
    • Czy musi być prywatna? (64)
    • Metoda pomocnicza (64)
    • Metody publiczne (65)
    • Czyszczenie pamięci (65)
    • Wyświetlanie obrazu (66)
    • Metody "pobierz" i "ustaw" (66)
    • Jakość obrazu (67)
    • Kiedy zmieniać jakość? (68)
  • Wyświetlanie miniaturki (68)
  • Zbierając to razem (69)
  • Co dalej? (70)

7. Budowanie klasy PageNavigator (71)

  • Jak zachowuje się nawigator? (72)
    • Różne rodzaje wyszukiwań (72)
  • Jak to będzie wyglądać? (72)
  • Kod (73)
    • Konstruktor (76)
    • Stop złemu zachowaniu (76)
    • Inne wywołania metod konstruktora (77)
  • Metoda getNavigator (79)
    • "Przejdź do pierwszej" i "Przejdź do poprzedniej" (79)
    • Ciało nawigatora (80)
    • "Przejdź do następnej" i "Przejdź do ostatniej" (81)
    • Bieżący i ostatni numer strony (81)
  • Co dalej? (82)

8. Wykorzystanie klasy PageNavigator (83)

  • Zmiany w klasie DirectoryItems (84)
  • CSS i możliwość ponownego wykorzystania (84)
  • Stronicowanie z klasą (86)
    • Wyświetlanie fragmentu tablicy (88)
    • Tworzenie obiektu PageNavigator (89)
  • Co dalej? (90)

9. Klasy bazy danych (91)

  • Korzystając z tego, co znane (91)
  • Jedną kostkę cukru czy dwie? (92)
  • Klasa MySQLConnect (92)
    • Zmienne świadome klasy (93)
    • Tworzenie kolejnych połączeń (94)
    • Droga do celu rozpoczyna się tutaj (95)
  • Klasa MySQLResultSet (95)
  • Nawigator stron (97)
    • Sortowanie, filtrowanie i wydobywanie (98)
    • Przemierzanie zestawienia wyników (99)
    • Nawigator potrzebuje wskazówek (99)
  • Co po nawigatorze? (101)

10. Z dziedziczeniem lepiej (103)

  • Standardowa biblioteka PHP - Standard PHP Library (104)
  • Rozszerzenie klasy przez dziedziczenie (104)
    • Klasa wyjątków (105)
    • Słowo kluczowe protected (105)
    • Słowo kluczowe final (106)
    • Więcej metod magicznych (106)
  • Zamiana błędów na wyjątki (107)
  • Klasa MySQLException (108)
  • Zmiany w klasie MySQLConnect (110)
    • Pchnąć klasę do przodu (111)
  • Przechwytywanie wyjątków (112)
  • Implementacja interfejsu (113)
    • Kilka słów o interfejsie Iterator (114)
    • Implementacja (115)
    • Zostawmy ją niezdefiniowaną (117)
    • Implementacja i dostęp (118)
    • Iteracja przez MySQLResultSet (119)
  • Co dalej? (119)

11. Zaawansowane pojęcia z zakresu programowania obiektowego (121)

  • Klasy abstrakcyjne (122)
    • Metody prywatne nie mogą być abstrakcyjne (122)
    • Interfejs czy klasa czysto abstrakcyjna? (123)
  • Polimorfizm (123)
    • Kontrola nad użyciem funkcji (124)
  • Klasy statyczne (125)
    • Statyczne klasy matematyczne (125)
    • Instancje klas statycznych (126)
    • Jak zapobiec tworzeniu instancji klasy statycznej? (127)
  • Wzorce projektowe (127)
    • Wzorzec Singleton (127)
    • Która implementacja? (129)
  • Co dalej? (129)

12. Utrzymajmy świeżość (131)

  • SimpleXML (132)
    • XML (132)
    • RSS (133)
    • Budowa pliku RSS (133)
    • Odczyt wątku (135)
  • Przeszukiwanie zawartości strony (136)
    • Funkcje Google API (136)
    • Technologia AJAX (137)
    • Instalacja protokołu SOAP (137)
    • Rozszerzenie SOAP (137)
    • Klient SOAP (138)
    • Test działania (141)
    • Technologia AJAX wykorzystana do przeglądania wyników (142)
  • Uproszczenie złożonych zadań (143)
  • A może proceduralnie? (143)

13. Więcej metod magicznych (145)

  • Metody __get i __set (146)
    • Czy było warto? (147)
  • Metody __isset i __unset (148)
  • Metoda __call (149)
  • Metoda __autoload (150)
  • Metody __sleep i __wakeup (151)
  • Metoda __clone (152)
    • Gdzie jest Włodek? (153)
    • Operator clone (154)
    • Klasy agregowane (154)
    • Metoda pobierania dla danych składowych obiektu klasy złożonej (157)
    • Klonom wstęp wzbroniony (158)
  • Kilka słów o przeciążaniu (158)

14. Tworzenie dokumentacji dzięki klasom Reflection (161)

  • Czym są klasy reflection? (162)
  • Grupa klas typu reflection (162)
    • Klasa Reflection (163)
    • Klasa ReflectionClass (164)
    • Obiekty ReflectionMethod i ReflectionParameter (165)
    • Funkcje wbudowane (166)
  • Jak sformatować tekst? (166)
  • Klasa Documenter (166)
    • Opis klasy Documenter (167)
    • Opisywanie metod i danych składowych (168)
    • Konstruktor (169)
    • Modyfikatory metod i danych składowych (169)
  • Używanie klasy Documenter (170)
    • Tworzenie bocznego menu klas i interfejsów (171)
    • Formatowanie szczegółów dokumentacji (171)
    • Formatowanie komentarzy dla klasy Documenter (173)
  • Reflecting (174)

15. Rozbudowa rozszerzenia SQLite (175)

  • Krótki przegląd (176)
  • Struktura katalogu (176)
  • Jak się to robi? (177)
  • Zaczynajmy (178)
  • Tworzenie tabeli (179)
  • Widoki (180)
  • Wyzwalacze (180)
  • Implementacja SQLite w PHP (182)
  • Rozbudowa klasy SQLiteDatabase (182)
  • Przesłonięte metody zapytania (183)
    • Komunikaty o błędach (185)
    • Metody zapytań (185)
  • Metody użytkowe (189)
    • Pobieranie metadanych (191)
    • Używanie metadanych (191)
  • Funkcje zdefiniowane przez użytkownika (193)
  • Korzystanie z SQLite i jego ograniczenia (195)

16. Używanie PDO (197)

  • Wady i zalety (198)
  • Zmienianie aplikacji SQLite (198)
    • Zmiany w kodzie (198)
  • Dodatkowe możliwości PDO (201)
    • Klasa PDO (201)
    • Klasa PDOStatement (202)
  • Ocena (204)
    • Czy to święty Graal? (205)

A Konfiguracja PHP 5 (207)

  • Ustawienia php.ini (208)
    • E_STRICT (209)
    • Nie obcinamy dwa razy (210)

B Tabela konwersji: PHP 4 i PHP 5 (211)

Słowniczek (215)

Skorowidz (221)

©2007 Włodzimierz Gajda | prace magisterskie | Dubai | Korekta prac magisterskich , Ebooki programowanie androida, Pozycjonowanie stron Poznań