PHP_Zaawansowane_programowanie_phpzap.pdf

(700 KB) Pobierz
Tytuł oryginału: Pro PHP Programming
Tłumaczenie: Jakub Hubisz
ISBN: 978-83-246-3922-9
Original edition copyright 2011 by Peter MacIntyre, Brian Danchilla, and Mladen Gogala.
All rights reserved.
Polish edition copyright 2012 by HELION SA.
All rights reserved.
All rights reserved. No part of this book may be reproduced or transmitted in any form or by any means,
electronic or mechanical, including photocopying, recording or by any information storage retrieval system,
without permission from the Publisher.
Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej
publikacji w jakiejkolwiek postaci jest zabronione. Wykonywanie kopii metodą kserograficzną,
fotograficzną, a także kopiowanie książki na nośniku filmowym, magnetycznym lub innym powoduje
naruszenie praw autorskich niniejszej publikacji.
Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi ich
właścicieli.
Wydawnictwo HELION dołożyło wszelkich starań, by zawarte w tej książce informacje były kompletne
i rzetelne. Nie bierze jednak
żadnej
odpowiedzialności ani za ich wykorzystanie, ani za związane z tym
ewentualne naruszenie praw patentowych lub autorskich. Wydawnictwo HELION nie ponosi również
żadnej
odpowiedzialności za ewentualne szkody wynikłe z wykorzystania informacji zawartych w książce.
Wydawnictwo HELION
ul. Kościuszki 1c, 44-100 GLIWICE
tel. 32 231 22 19, 32 230 98 63
e-mail: helion@helion.pl
WWW: http://helion.pl (księgarnia internetowa, katalog książek)
Pliki z przykładami omawianymi w książce można znaleźć pod adresem:
ftp://ftp.helion.pl/przyklady/phpzap.zip
Drogi Czytelniku!
Jeżeli chcesz ocenić tę książkę, zajrzyj pod adres
http://helion.pl/user/opinie/phpzap
Możesz tam wpisać swoje uwagi, spostrzeżenia, recenzję.
Printed in Poland.
Kup książkę
Poleć książkę
Oceń książkę
Księgarnia internetowa
Lubię to! » Nasza społeczność
Spis tre ci
O autorach ...................................................................................................................................11
O korektorze merytorycznym .......................................................................................................13
Przedmowa ..................................................................................................................................15
Wprowadzenie do PHP ................................................................................................................17
Rozdziaï 1.
Obiektowo Ê ..........................................................................................................21
Klasy ....................................................................................................................................................... 21
Dziedziczenie i przeciążanie ............................................................................................................... 23
„Magiczne” funkcje ............................................................................................................................. 27
Metody __get i __set .................................................................................................................... 27
Metoda __isset ............................................................................................................................... 28
Metoda __call ................................................................................................................................ 28
Metoda __toString() ..................................................................................................................... 29
Kopiowanie, klonowanie oraz porównywanie obiektów ............................................................... 29
Interfejsy, iteratory i klasy abstrakcyjne ........................................................................................... 31
Kontekst klasy i elementy statyczne .................................................................................................. 35
Podsumowanie ..................................................................................................................................... 36
Rozdziaï 2.
WyjÈtki i referencje ................................................................................................37
Wyjątki .................................................................................................................................................. 37
Referencje .............................................................................................................................................. 41
Podsumowanie ..................................................................................................................................... 45
Rozdziaï 3.
Mobilne PHP ..........................................................................................................47
Różnorodność urządzeń ..................................................................................................................... 47
Rozpoznanie urządzenia ..................................................................................................................... 48
Aplikacja kliencka ......................................................................................................................... 48
Wbudowane funkcje PHP ........................................................................................................... 48
Rozpoznawanie możliwości urządzenia ........................................................................................... 51
WURFL .......................................................................................................................................... 51
Tera-WURFL ................................................................................................................................. 57
Kup książkę
Poleć książkę
PHP. ZAAWANSOWANE PROGRAMOWANIE
Narzędzia renderujące ........................................................................................................................ 60
WALL ............................................................................................................................................. 60
Reagujący CSS ............................................................................................................................... 62
Emulatory i SDK .................................................................................................................................. 62
Tworzenie dla systemu Android ................................................................................................ 62
Adobe Flash Builder dla PHP ..................................................................................................... 62
Kody QR ................................................................................................................................................ 63
Podsumowanie ..................................................................................................................................... 64
Rozdziaï 4.
Media spoïeczno ciowe .........................................................................................65
OAuth .................................................................................................................................................... 65
Twitter ................................................................................................................................................... 66
API publicznego wyszukiwania .................................................................................................. 66
Prywatne REST API ..................................................................................................................... 67
Wykorzystanie mechanizmu OAuth w celu powiązania strony z systemem logowania ........77
Dodatkowe metody API i przykłady jego wykorzystania ....................................................... 80
Facebook ............................................................................................................................................... 83
Dodanie linku wylogowania z Facebooka ................................................................................. 88
Żądanie dodatkowych uprawnień .............................................................................................. 89
Graph API ...................................................................................................................................... 89
Podsumowanie ..................................................................................................................................... 91
Rozdziaï 5.
Nowo ci technologiczne ........................................................................................93
Przestrzenie nazw ................................................................................................................................ 93
Przestrzenie nazw i autoładowanie ............................................................................................ 96
Przestrzenie nazw — podsumowanie ........................................................................................ 96
Funkcje anonimowe ............................................................................................................................ 96
Nowdoc ................................................................................................................................................. 97
Lokalne instrukcje goto ..................................................................................................................... 100
Standardowa biblioteka PHP — SPL .............................................................................................. 100
SPL — podsumowanie ............................................................................................................... 103
Rozszerzenie phar .............................................................................................................................. 103
Podsumowanie ................................................................................................................................... 106
Rozdziaï 6.
Tworzenie formularzy i zarzÈdzanie nimi ............................................................107
Walidacja danych ............................................................................................................................... 107
Wczytywanie plików i obrazów ....................................................................................................... 113
Konwersja obrazów i miniatury ...................................................................................................... 114
Wyrażenia regularne ......................................................................................................................... 115
Integracja języków ............................................................................................................................. 118
Podsumowanie ................................................................................................................................... 119
Rozdziaï 7.
Integracja z bazami danych. CzÚ Ê I ....................................................................121
Wprowadzenie do MongoDB .......................................................................................................... 122
Zapytania w MongoDB .............................................................................................................. 126
Modyfikowanie dokumentów w MongoDB ........................................................................... 130
Agregacje w MongoDB .............................................................................................................. 132
Podsumowanie MongoDB ........................................................................................................ 134
6
Kup książkę
Poleć książkę
SPIS TRE¥CI
Wprowadzenie do CouchDB ........................................................................................................... 134
Wykorzystanie interfejsu Futon ............................................................................................... 135
Podsumowanie CouchDB ......................................................................................................... 140
Wprowadzenie do SQLite ................................................................................................................. 141
Podsumowanie SQLite ............................................................................................................... 149
Podsumowanie ................................................................................................................................... 149
Rozdziaï 8.
Integracja z bazami danych. CzÚ Ê II ...................................................................151
Wprowadzenie do rozszerzenia MySQLi ....................................................................................... 151
Podsumowanie rozszerzenia MySQLi ..................................................................................... 158
Wprowadzenie do PDO .................................................................................................................... 158
Podsumowanie PDO .................................................................................................................. 161
Wprowadzenie do ADOdb ............................................................................................................... 161
Podsumowanie ADOdb ............................................................................................................. 165
Wyszukiwanie pełnotekstowe przy wykorzystaniu Sphinksa ..................................................... 165
Podsumowanie ................................................................................................................................... 173
Rozdziaï 9.
Integracja z bazami danych. CzÚ Ê III ..................................................................175
Wprowadzenie do Oracle ................................................................................................................. 175
Podstawy. Połączenie i wykonywanie zapytań .............................................................................. 177
Interfejs tablicowy .............................................................................................................................. 180
Procedury i kursory w PL/SQL ........................................................................................................ 183
Praca z typami LOB ........................................................................................................................... 186
Inne podejście do połączeń — pule połączeń ................................................................................ 190
Zestawy znaków w bazie danych i PHP .......................................................................................... 192
Podsumowanie ................................................................................................................................... 193
Rozdziaï 10. Biblioteki .............................................................................................................195
SimplePie ............................................................................................................................................. 196
TCPDF ................................................................................................................................................. 199
Pobieranie danych ze stron internetowych ............................................................................. 204
Integracja z Mapami Google ............................................................................................................ 209
Wiadomości e-mail i SMS ................................................................................................................ 211
gChartPHP — biblioteka wykorzystująca Google Chart API ..................................................... 215
Podsumowanie ................................................................................................................................... 219
Rozdziaï 11. Bezpieczeñstwo ...................................................................................................221
Nigdy nie ufaj danym ........................................................................................................................ 221
register_globals ........................................................................................................................... 222
Białe i czarne listy ....................................................................................................................... 222
Dane formularzy ......................................................................................................................... 223
$_COOKIES, $_SESSION i $_SERVER .................................................................................. 224
Żądania Ajax ................................................................................................................................ 224
Powszechne ataki ............................................................................................................................... 225
Polityka tego samego pochodzenia .......................................................................................... 225
XSS (Cross Site Scripting) .......................................................................................................... 225
CSRF (Cross-Site Request Forgery) ......................................................................................... 228
Sesje ...................................................................................................................................................... 229
Zapobieganie atakom typu SQL injection ...................................................................................... 229
7
Kup książkę
Poleć książkę
Zgłoś jeśli naruszono regulamin