Details zum E-Book

Mistrz PHP. Pisz nowoczesny kod

Mistrz PHP. Pisz nowoczesny kod

Matthew Turland, Davey Shafik, Lorna Mitchell

E-book

Wykorzystaj najnowsze techniki programowania, dzięki którym osiągniesz wyższy poziom zaawansowania

"Mistrz PHP. Pisz nowoczesny kod" to książka przeznaczona dla programistów PHP, którzy znają już podstawy tego języka i chcą rozwinąć swoje umiejętności, by tworzyć bardziej zaawansowane rozwiązania. Znajdziesz w niej cenne rady, jak udoskonalić swoje aplikacje serwerowe, oraz wszystko, czego potrzeba do stosowania najefektywniejszych technik obiektowych, zabezpieczania kodu czy pisania programów idealnie spełniających swoje zadania. W każdym rozdziale poznasz nowe sposoby wykonywania pewnych zadań oraz nowe teorie, leżące u podłoża stosowanych przez Ciebie technik.

Dzięki lekturze tej publikacji przemienisz się ze sprawnego programisty w pewnego siebie inżyniera - stosującego najlepsze praktyki programistyczne, pracującego szybko i solidnie. Autorzy przedstawiają praktyczne problemy i użyteczne rozwiązania, które zaprowadzą Cię na szczyt kariery! Jeśli szukasz możliwości scementowania całej swojej wiedzy i chcesz zdobyć solidne podstawy, ta książka jest dla Ciebie.

Dowiesz się z niej, jak:

  • tworzyć profesjonalne dynamiczne aplikacje w oparciu o obiektowe wzorce programowania
  • używać zaawansowanych narzędzi do oceny wydajności programów, aby zmaksymalizować ich możliwości
  • stosować nowoczesne techniki testowania, pozwalające uzyskać niezawodny kod
  • zabezpieczać programy przed atakami zewnętrznymi przy użyciu najskuteczniejszych technik
  • używać funkcji dostępnych w bibliotekach i interfejsach programistycznych języka PHP

…i wiele więcej

Praktyczne problemy i użyteczne rozwiązania,
które zaprowadzą Cię na szczyt kariery!


Wstęp (13)

Adresaci książki (13)

Zawartość książki (14)

Strona internetowa książki (16)

Podziękowania (16)

Konwencje typograficzne (17)

Wskazówki, uwagi i ostrzeżenia (18)

Rozdział 1. Programowanie obiektowe (19)

  • Dlaczego programowanie obiektowe (19)
    • Terminologia obiektowa (19)
  • Wprowadzenie do programowania obiektowego (20)
    • Deklarowanie klas (20)
    • Konstruktory (21)
    • Tworzenie obiektów (21)
    • Automatyczne ładowanie (22)
    • Używanie obiektów (23)
    • Własności i metody statyczne (23)
    • Obiekty i przestrzenie nazw (24)
  • Dziedziczenie (27)
  • Obiekty i funkcje (29)
    • Określanie typów parametrów (29)
    • Polimorfizm (29)
    • Obiekty i referencje (30)
    • Przekazywanie obiektów jako parametrów funkcji (31)
    • Płynne interfejsy (32)
  • Słowa kluczowe public, private i protected (33)
    • Modyfikator public (33)
    • Modyfikator private (33)
    • Modyfikator protected (34)
    • Wybór zakresu dostępności (34)
    • Kontrola dostępności przy użyciu metod sprawdzających i ustawiających (35)
    • Magiczne metody __get i __set (36)
  • Interfejsy (37)
    • Interfejs Countable z biblioteki SPL (37)
    • Liczenie obiektów (37)
    • Deklarowanie i używanie interfejsów (38)
    • Identyfikowanie obiektów i interfejsów (39)
  • Wyjątki (40)
    • Obsługa wyjątków (40)
    • Dlaczego należy używać wyjątków (41)
    • Zgłaszanie wyjątków (41)
    • Rozszerzanie klas wyjątków (41)
    • Przechwytywanie wybranych typów wyjątków (42)
    • Ustawianie globalnej procedury obsługi wyjątków (43)
    • Wywołania zwrotne (44)
  • Metody magiczne - zaawansowane wiadomości (44)
    • Metody __call() i __callStatic() (45)
    • Drukowanie zawartości obiektów przy użyciu metody __toString() (46)
    • Serializacja obiektów (46)
  • Osiągnięte cele (48)

Rozdział 2. Bazy danych (49)

  • Dane trwałe i aplikacje sieciowe (49)
  • Sposoby składowania danych (50)
  • Budowanie serwisu z przepisami na podstawie bazy MySQL (51)
    • Tworzenie tabel (51)
  • Rozszerzenie PDO (53)
    • Łączenie się z bazą MySQL przy użyciu PDO (53)
    • Pobieranie danych z tabel w bazie (54)
    • Tryby pobierania danych (54)
    • Parametry i instrukcje preparowane (55)
    • Wiązanie wartości i zmiennych z instrukcjami preparowanymi (57)
    • Wstawianie wiersza i pobieranie jego identyfikatora (58)
    • Sprawdzanie liczby wstawionych, zmienionych i usuniętych rekordów (59)
    • Usuwanie danych (60)
  • Obsługa błędów w PDO (60)
    • Obsługa błędów związanych z przygotowywaniem zapytań (60)
    • Obsługa błędów związanych z wykonywaniem zapytań (61)
    • Obsługa błędów związanych z pobieraniem danych (62)
  • Zaawansowane funkcje PDO (63)
    • Transakcje a PDO (63)
    • Procedury składowane i PDO (64)
  • Projektowanie bazy danych (65)
    • Klucze główne i indeksy (65)
    • Polecenie MySQL Explain (65)
    • Złączenia wewnętrzne (69)
    • Złączenia zewnętrzne (70)
    • Funkcje agregujące i grupowanie (71)
    • Normalizacja danych (72)
  • Podsumowanie (74)

Rozdział 3. Interfejsy programistyczne (75)

  • Zanim zaczniesz (75)
    • Narzędzia do pracy z API (75)
    • Dodawanie API do systemu (76)
  • Architektura usługowa (76)
  • Formaty danych (77)
    • Format JSON (77)
    • Format XML (79)
  • HTTP - protokół przesyłania hipertekstu (82)
    • Dane przesyłane w nagłówkach HTTP (82)
    • Wysyłanie żądań HTTP (83)
    • Kody statusu HTTP (87)
    • Nagłówki HTTP (87)
    • Czasowniki HTTP (91)
  • Kryteria wyboru typów usług (92)
    • PHP i SOAP (92)
    • Opis usług SOAP za pomocą języka WSDL (94)
  • Diagnozowanie HTTP (95)
    • Gromadzenie informacji w dzienniku (95)
    • Kontrola ruchu HTTP (96)
  • Usługi RPC (96)
    • Korzystanie z usług RPC: przykład na podstawie serwisu Flickr (97)
    • Tworzenie usługi RPC (98)
  • Usługi sieciowe a Ajax (100)
    • Żądania międzydomenowe (104)
  • Usługi RESTful (106)
    • Więcej niż piękne adresy URL (107)
    • Zasady usług RESTful (107)
    • Budowanie usługi RESTful (108)
  • Projektowanie usługi sieciowej (114)
  • Do usług (115)

Rozdział 4. Wzorce projektowe (117)

  • Czym są wzorce projektowe (117)
    • Wybieranie wzorca (117)
    • Wzorzec singleton (118)
    • Cechy (119)
    • Wzorzec rejestr (120)
    • Wzorzec fabryka (124)
    • Wzorzec iterator (125)
    • Wzorzec obserwator (133)
    • Wzorzec wstrzykiwanie zależności (136)
    • Wzorzec model-widok-kontroler (139)
  • Tworzenie wzorców (150)

Rozdział 5. Bezpieczeństwo (151)

  • Działaj jak paranoik (151)
  • Filtruj dane wejściowe, koduj dane wyjściowe (152)
    • Filtrowanie i weryfikacja (152)
  • Cross-site scripting (153)
    • Atak (154)
    • Obrona (155)
    • Materiały w internecie (155)
  • Cross-site Request Forgery (156)
    • Atak (156)
    • Obrona (157)
    • Materiały w internecie (159)
  • Session fixation (159)
    • Atak (159)
    • Obrona (160)
    • Materiały w internecie (160)
  • Session hijacking (161)
    • Atak (161)
    • Obrona (162)
    • Materiały w internecie (163)
  • SQL injection (163)
    • Atak (163)
    • Obrona (164)
    • Materiały w internecie (165)
  • Przechowywanie haseł (165)
    • Atak (165)
    • Obrona (166)
    • Materiały w internecie (167)
  • Atak siłowy (167)
    • Atak (167)
    • Obrona (169)
    • Materiały w internecie (169)
  • SSL (170)
    • Atak (170)
    • Obrona (171)
    • Materiały w internecie (171)
  • Dodatkowe zasoby (172)

Rozdział 6. Wydajność (173)

  • Benchmarking (173)
  • Dostrajanie systemu (179)
    • Zapisywanie kodu w pamięci podręcznej (179)
    • Ustawienia inicjacyjne (184)
  • Bazy danych (184)
  • System plików (185)
    • Buforowanie (185)
  • Profilowanie (192)
    • Instalowanie narzędzia XHProf (193)
    • Instalowanie XHGui (197)
  • Podsumowanie (204)

Rozdział 7. Automatyzacja testów (205)

  • Testy jednostkowe (205)
    • Instalowanie narzędzia PHPUnit (206)
    • Pisanie przypadków testowych (206)
    • Wykonywanie testów (208)
    • Dublery (210)
    • Pisanie kodu przystosowanego do testowania (213)
    • Pisanie testów dla widoków i kontrolerów (217)
  • Testowanie baz danych (221)
    • Przypadki testowe baz danych (221)
    • Połączenia (222)
    • Zbiory danych (223)
    • Asercje (225)
  • Testowanie systemowe (226)
    • Wstępna konfiguracja (226)
    • Polecenia (227)
    • Lokalizatory (228)
    • Asercje (229)
    • Integracja z bazą danych (230)
    • Diagnozowanie usterek (231)
    • Automatyzacja pisania testów (232)
  • Testowanie obciążeniowe (233)
    • ab (233)
    • Siege (234)
  • Wypróbowane i przetestowane (236)

Rozdział 8. Kontrola jakości (237)

  • Pomiar jakości za pomocą narzędzi analizy statycznej (237)
    • Narzędzie phploc (238)
    • Narzędzie phpcpd (239)
    • Narzędzie phpmd (240)
  • Standardy kodowania (241)
    • Weryfikacja kodu pod kątem standardów kodowania przy użyciu narzędzia PHP_CodeSniffer (241)
    • Przeglądanie przypadków naruszenia reguł standardów kodowania (243)
    • Standardy kodowania w narzędziu PHP_CodeSniffer (244)
  • Dokumentacja i kod (244)
    • Narzędzie phpDocumentor (246)
    • Inne narzędzia dokumentacyjne (248)
  • Kontrola źródła (248)
    • Praca z centralnym systemem kontroli wersji (249)
    • Kontrola źródła przy użyciu systemu Subversion (250)
    • Projektowanie struktury repozytorium (252)
    • Rozproszone systemy kontroli wersji (254)
    • Społecznościowe narzędzia dla programistów (255)
    • Kontrola kodu źródłowego przy użyciu narzędzia Git (255)
    • Repozytorium jako centrum procesu budowy (257)
  • Automatyzacja procesu wdrażania (257)
    • Natychmiastowe przełączanie na nową wersję (257)
    • Zarządzanie zmianami w bazie danych (258)
    • Automatyzacja wdrażania i plik konfiguracyjny Phing (259)
  • Gotowi do wdrażania (261)

Dodatek A: Biblioteki PEAR i PECL (263)

  • Biblioteka PEAR (263)
  • Biblioteka PECL (263)
  • Instalowanie pakietów (264)
    • Kanały PEAR (266)
    • Używanie kodu PEAR (268)
  • Instalowanie rozszerzeń (268)
    • Ręczne kompilowanie rozszerzeń (269)
  • Tworzenie pakietów (272)
  • Kontrola wersji pakietów (276)
  • Tworzenie kanału (277)
  • Co dalej (280)

Dodatek B: SPL: Standard PHP Library (281)

  • Interfejsy ArrayAccess i ArrayObject (281)
  • Automatyczne wczytywanie (282)
  • Praca na katalogach i plikach (283)
  • Interfejs Countable (285)
  • Struktury danych (286)
    • Tablice o stałym rozmiarze (286)
    • Listy (286)
    • Stosy i kolejki (287)
    • Sterty (287)
    • Kolejki priorytetowe (288)
    • Funkcje (288)

Dodatek C: Dalszy rozwój (289)

  • Czytaj, czytaj, czytaj (289)
  • Uczestnictwo w wydarzeniach (290)
  • Grupy użytkowników (291)
  • Społeczności internetowe (291)
  • Projekty typu open source (292)

Skorowidz (293)

  • Titel: Mistrz PHP. Pisz nowoczesny kod
  • Autor: Davey Shafik, Lorna Mitchell, Matthew Turland
  • Originaler Titel: PHP Master: Write Cutting Edge Code
  • Übersetzung: Łukasz Piwko
  • ISBN: 978-83-246-5706-3, 9788324657063
  • Veröffentlichungsdatum: 2012-10-29
  • Format: E-book
  • Artikelkennung: misphp
  • Verleger: Helion