mistrz-php.-pisz-nowoczesny-kod ebook.pdf

(22122 KB) Pobierz
893647759.001.png
Spis treci
Wstp ........................................................................................................................ 13
Adresaci ksiki .......................................................................................................... 13
Zawarto ksiki ....................................................................................................... 14
Strona internetowa ksiki ......................................................................................... 16
Podzikowania ........................................................................................................... 16
Konwencje typograficzne ............................................................................................ 17
Wskazówki, uwagi i ostrzeenia ................................................................................. 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
Uywanie obiektów .............................................................................................. 23
Wasnoci i metody statyczne ............................................................................... 23
Obiekty i przestrzenie nazw .................................................................................. 24
Dziedziczenie .............................................................................................................. 27
Obiekty i funkcje ......................................................................................................... 29
Okrelanie typów parametrów .............................................................................. 29
Polimorfizm .......................................................................................................... 29
Obiekty i referencje ............................................................................................... 30
Przekazywanie obiektów jako parametrów funkcji ................................................ 31
Pynne interfejsy ................................................................................................... 32
Sowa kluczowe public, private i protected ................................................................. 33
Modyfikator public ............................................................................................... 33
Modyfikator private .............................................................................................. 33
Modyfikator protected .......................................................................................... 34
Wybór zakresu dostpnoci .................................................................................. 34
Kontrola dostpnoci przy uyciu metod sprawdzajcych i ustawiajcych ............. 35
Magiczne metody __get i __set ............................................................................ 36
Interfejsy .................................................................................................................... 37
Interfejs Countable z biblioteki SPL ....................................................................... 37
Liczenie obiektów ................................................................................................. 37
Deklarowanie i uywanie interfejsów ................................................................... 38
Identyfikowanie obiektów i interfejsów ................................................................ 39
6
Mistrz PHP. Pisz nowoczesny kod
Wyjtki ....................................................................................................................... 40
Obsuga wyjtków ................................................................................................ 40
Dlaczego naley uywa wyjtków ....................................................................... 41
Zgaszanie wyjtków ............................................................................................ 41
Rozszerzanie klas wyjtków .................................................................................. 41
Przechwytywanie wybranych typów wyjtków ..................................................... 42
Ustawianie globalnej procedury obsugi wyjtków ............................................... 43
Wywoania zwrotne ............................................................................................. 44
Metody magiczne — zaawansowane wiadomoci ..................................................... 44
Metody __call() i __callStatic() .............................................................................. 45
Drukowanie zawartoci obiektów przy uyciu metody __toString() ....................... 46
Serializacja obiektów ............................................................................................ 46
Osignite cele ........................................................................................................... 48
Rozdzia 2. Bazy danych ................................................................................ 49
Dane trwae i aplikacje sieciowe ................................................................................. 49
Sposoby skadowania danych ..................................................................................... 50
Budowanie serwisu z przepisami na podstawie bazy MySQL ...................................... 51
Tworzenie tabel .................................................................................................... 51
Rozszerzenie PDO ....................................................................................................... 53
czenie si z baz MySQL przy uyciu PDO .......................................................... 53
Pobieranie danych z tabel w bazie ........................................................................ 54
Tryby pobierania danych ...................................................................................... 54
Parametry i instrukcje preparowane ...................................................................... 55
Wizanie wartoci i zmiennych z instrukcjami preparowanymi .............................. 57
Wstawianie wiersza i pobieranie jego identyfikatora ............................................ 58
Sprawdzanie liczby wstawionych, zmienionych i usunitych rekordów ................. 59
Usuwanie danych ................................................................................................. 60
Obsuga bdów w PDO ............................................................................................. 60
Obsuga bdów zwizanych z przygotowywaniem zapyta ................................. 60
Obsuga bdów zwizanych z wykonywaniem zapyta ....................................... 61
Obsuga bdów zwizanych z pobieraniem danych ............................................. 62
Zaawansowane funkcje PDO ...................................................................................... 63
Transakcje a PDO .................................................................................................. 63
Procedury skadowane i PDO ................................................................................ 64
Projektowanie bazy danych ........................................................................................ 65
Klucze gówne i indeksy ........................................................................................ 65
Polecenie MySQL Explain ...................................................................................... 65
Zczenia wewntrzne .......................................................................................... 69
Zczenia zewntrzne ............................................................................................ 70
Funkcje agregujce i grupowanie ......................................................................... 71
Normalizacja danych ............................................................................................ 72
Podsumowanie .......................................................................................................... 74
7
SPIS TRECI
Rozdzia 3. Interfejsy programistyczne ...................................................... 75
Zanim zaczniesz ......................................................................................................... 75
Narzdzia do pracy z API ...................................................................................... 75
Dodawanie API do systemu .................................................................................. 76
Architektura usugowa ............................................................................................... 76
Formaty danych .......................................................................................................... 77
Format JSON ......................................................................................................... 77
Format XML .......................................................................................................... 79
HTTP — protokó przesyania hipertekstu ................................................................... 82
Dane przesyane w nagówkach HTTP ................................................................... 82
Wysyanie da HTTP .......................................................................................... 83
Kody statusu HTTP ................................................................................................ 87
Nagówki HTTP ..................................................................................................... 87
Czasowniki HTTP .................................................................................................. 91
Kryteria wyboru typów usug ...................................................................................... 92
PHP i SOAP ........................................................................................................... 92
Opis usug SOAP za pomoc jzyka WSDL ............................................................ 94
Diagnozowanie HTTP ................................................................................................. 95
Gromadzenie informacji w dzienniku .................................................................... 95
Kontrola ruchu HTTP ............................................................................................. 96
Usugi RPC ................................................................................................................. 96
Korzystanie z usug RPC: przykad na podstawie serwisu Flickr ............................. 97
Tworzenie usugi RPC ........................................................................................... 98
Usugi sieciowe a Ajax .............................................................................................. 100
dania midzydomenowe ................................................................................. 104
Usugi RESTful .......................................................................................................... 106
Wicej ni pikne adresy URL ............................................................................. 107
Zasady usug RESTful .......................................................................................... 107
Budowanie usugi RESTful .................................................................................. 108
Projektowanie usugi sieciowej ................................................................................. 114
Do usug .................................................................................................................. 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
8
Mistrz PHP. Pisz nowoczesny kod
Wzorzec wstrzykiwanie zalenoci ...................................................................... 136
Wzorzec model-widok-kontroler ......................................................................... 139
Tworzenie wzorców ................................................................................................. 150
Rozdzia 5. Bezpieczestwo ....................................................................... 151
Dziaaj jak paranoik .................................................................................................. 151
Filtruj dane wejciowe, koduj dane wyjciowe ......................................................... 152
Filtrowanie i weryfikacja ..................................................................................... 152
Cross-site scripting ................................................................................................... 153
Atak ................................................................................................................... 154
Obrona ............................................................................................................... 155
Materiay w internecie ........................................................................................ 155
Cross-site Request Forgery ....................................................................................... 156
Atak ................................................................................................................... 156
Obrona ............................................................................................................... 157
Materiay w internecie ........................................................................................ 159
Session fixation ........................................................................................................ 159
Atak ................................................................................................................... 159
Obrona ............................................................................................................... 160
Materiay w internecie ........................................................................................ 160
Session hijacking ...................................................................................................... 161
Atak ................................................................................................................... 161
Obrona ............................................................................................................... 162
Materiay w internecie ........................................................................................ 163
SQL injection ............................................................................................................ 163
Atak ................................................................................................................... 163
Obrona ............................................................................................................... 164
Materiay w internecie ........................................................................................ 165
Przechowywanie hase ............................................................................................. 165
Atak ................................................................................................................... 165
Obrona ............................................................................................................... 166
Materiay w internecie ........................................................................................ 167
Atak siowy .............................................................................................................. 167
Atak ................................................................................................................... 167
Obrona ............................................................................................................... 169
Materiay w internecie ........................................................................................ 169
SSL ........................................................................................................................... 170
Atak ................................................................................................................... 170
Obrona ............................................................................................................... 171
Materiay w internecie ........................................................................................ 171
Dodatkowe zasoby ................................................................................................... 172
Zgłoś jeśli naruszono regulamin