Mistrz PHP. Pisz nowoczesny kod - ebook
Mistrz PHP. Pisz nowoczesny kod - ebook
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!
Spis treści
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)
Kategoria: | Programowanie |
Zabezpieczenie: |
Watermark
|
ISBN: | 978-83-246-5706-3 |
Rozmiar pliku: | 3,9 MB |