PHP_i_jQuery_Techniki_zaawansowane_Wydanie_II_phjqz2.pdf

(847 KB) Pobierz
Tytuł oryginału: Pro PHP and jQuery, 2nd Edition
Tłumaczenie: Krzysztof Wołowski
ISBN: 978-83-283-3035-1
Original edition copyright © 2016 by Jason Lengstorf and Keith Wald.
All rights reserved.
Polish edition copyright © 2017 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.
Autor oraz Wydawnictwo HELION dołożyli wszelkich starań, by zawarte w tej książce informacje były
kompletne i rzetelne. Nie biorą jednak żadnej odpowiedzialności ani za ich wykorzystanie, ani za związane
z tym ewentualne naruszenie praw patentowych lub autorskich. Autor oraz Wydawnictwo HELION nie
ponoszą 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/phjqz2.zip
Drogi Czytelniku!
Jeżeli chcesz ocenić tę książkę, zajrzyj pod adres
http://helion.pl/user/opinie/phjqz2
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 ........................................................................................................ 9
O recenzencie .................................................................................................. 11
Cz
I
Podstawy jQuery .............................................................................. 13
Wprowadzenie do jQuery ............................................................................... 15
Zalety jQuery w porównaniu do JavaScriptu ......................................................................... 15
Biblioteki JavaScript ............................................................................................................ 15
Korzyści z używania jQuery ............................................................................................... 16
Historia jQuery ..................................................................................................................... 16
Konfiguracja środowiska testowego ........................................................................................ 17
Instalacja Firefoksa .............................................................................................................. 17
Instalacja Firebuga ............................................................................................................... 17
Konfiguracja lokalnego środowiska testowego ................................................................ 18
Odwołanie do jQuery w kodzie strony .................................................................................... 19
Ładowanie pobranej kopii biblioteki ................................................................................ 19
Ładowanie kopii biblioteki przechowywanej na zdalnym serwerze ............................. 19
Plik testowy .................................................................................................................................. 19
Funkcja jQuery ..................................................................................................................... 20
Wybór elementów DOM za pomocą składni CSS .......................................................... 21
Podsumowanie ............................................................................................................................ 32
Rozdzia 1
Rozdzia 2
Typowe operacje i metody jQuery .................................................................. 33
Podstawy budowy skryptów jQuery ........................................................................................ 33
Metody jQuery ............................................................................................................................ 33
Poruszanie się w obrębie drzewa DOM ............................................................................ 34
Tworzenie i wstawianie elementów DOM ....................................................................... 42
Odczyt i modyfikacja atrybutów CSS ................................................................................ 55
Przetwarzanie zbiorów wynikowych ................................................................................. 62
Animacje i pozostałe efekty ................................................................................................ 65
Kup książkę
Poleć książkę
SPIS TRE CI
Obsługa zdarzeń ................................................................................................................... 70
Obsługa zapytań AJAX ....................................................................................................... 75
Podsumowanie ............................................................................................................................ 81
Cz
II
Zaawansowane techniki programowania w PHP ............................ 83
Programowanie obiektowe ............................................................................. 85
Czym jest programowanie obiektowe? .................................................................................... 85
Obiekty i klasy ............................................................................................................................. 85
Różnica między obiektem a klasą ...................................................................................... 86
Struktura klasy ...................................................................................................................... 86
Definiowanie właściwości klasy ......................................................................................... 87
Definiowanie metod klasy .................................................................................................. 88
Mechanizm dziedziczenia w klasach ................................................................................. 95
Rodzaje dostępu do właściwości i metod ......................................................................... 99
Komentarze DocBlock ...................................................................................................... 105
Kod obiektowy a kod proceduralny ....................................................................................... 107
Łatwość implementacji ...................................................................................................... 107
Lepsza organizacja ............................................................................................................. 111
Łatwiejsze utrzymanie kodu ............................................................................................. 111
Podsumowanie .......................................................................................................................... 112
Rozdzia 3
Rozdzia 4
Aplikacja Kalendarz wydarze ...................................................................... 113
Planowanie aplikacji ................................................................................................................. 113
Struktura bazy danych ....................................................................................................... 113
Szkielet aplikacji ................................................................................................................. 113
Hierarchia folderów aplikacji ........................................................................................... 114
Modyfikacja środowiska programistycznego ................................................................ 116
Tworzenie kalendarza .............................................................................................................. 117
Projektowanie bazy danych .............................................................................................. 117
Połączenie z bazą danych w klasie ................................................................................... 119
Klasa Calendar .................................................................................................................... 120
Właściwości klasy Calendar ............................................................................................. 121
Konstruktor klasy Calendar ............................................................................................. 122
Wczytywanie danych wydarzenia .................................................................................... 128
Generowanie kodu HTML kalendarza i wydarzeń ....................................................... 134
Generowanie kodu HTML do wyświetlania pełnych opisów wydarzeń .................... 148
Podsumowanie .......................................................................................................................... 153
Rozdzia 5
Formularze do tworzenia, edytowania i usuwania wydarze ....................... 155
Tworzenie i edycja wydarzeń .................................................................................................. 155
Zabezpieczenie formularza tokenem .............................................................................. 157
Plik z formularzem ............................................................................................................ 159
Arkusz stylów dla strony administratora ....................................................................... 160
Zapis nowych wydarzeń w bazie danych .............................................................................. 162
Plik do przetwarzania formularza ................................................................................... 165
Przycisk do tworzenia wydarzeń na stronie głównej kalendarza ................................ 167
4
Kup książkę
Poleć książkę
SPIS TRE CI
Przycisk edycji na stronie ze szczegółami wydarzenia ........................................................ 170
Opcje administratora w metodzie displayEvent() ......................................................... 172
Stylizacja strony wydarzenia ............................................................................................ 173
Usuwanie wydarzeń ................................................................................................................. 175
Kod HTML przycisku usuwania ...................................................................................... 176
Metoda obsługująca potwierdzenie usunięcia wydarzenia .......................................... 176
Plik do obsługi formularza potwierdzenia ..................................................................... 180
Podsumowanie .......................................................................................................................... 182
Rozdzia 6
Kontrola uprawnie u ytkownika ................................................................. 183
Tabela użytkowników w bazie danych .................................................................................. 183
Plik odpowiedzialny za wyświetlanie formularza logowania ............................................. 183
Klasa administratora ................................................................................................................ 185
Definicja klasy .................................................................................................................... 185
Budowa metody sprawdzającej dane logowania ........................................................... 186
Modyfikacja rdzenia aplikacji .......................................................................................... 195
Wylogowywanie z aplikacji ..................................................................................................... 199
Przycisk Wyloguj ............................................................................................................... 201
Metoda przetwarzająca formularz wylogowania ........................................................... 201
Modyfikacja rdzenia aplikacji .......................................................................................... 203
Kontrola dostępu do narzędzi administratora ..................................................................... 204
Wyświetlanie opcji administratora .................................................................................. 205
Ograniczenie dostępu do stron administracyjnych ...................................................... 209
Podsumowanie .......................................................................................................................... 212
Cz
III
Zastosowanie jQuery w aplikacjach PHP ....................................... 213
Optymalizacja interfejsu u ytkownika za pomoc jQuery ............................. 215
Stopniowe ulepszanie aplikacji z wykorzystaniem jQuery ................................................. 215
Cele stopniowego ulepszania ............................................................................................ 216
Dołączenie biblioteki jQuery .................................................................................................. 216
Plik konfiguracyjny JavaScript ......................................................................................... 216
Nowy arkusz stylów dla elementów utworzonych przez jQuery ................................ 217
Okno modalne z danymi wydarzenia .................................................................................... 219
Dołączenie procedury obsługi zdarzenia click .............................................................. 220
Wstrzymanie domyślnego działania odnośnika i dodanie klasy active ..................... 220
Odczyt łańcucha zapytania za pomocą wyrażeń regularnych ..................................... 221
Okno modalne .................................................................................................................... 222
Pobieranie i wyświetlanie informacji o wydarzeniu przy użyciu AJAX-a ................. 226
Przycisk Zamknij ............................................................................................................... 231
Efekty specjalne przy otwieraniu i zamykaniu okna ..................................................... 233
Podsumowanie .......................................................................................................................... 240
Rozdzia 7
Rozdzia 8
Edycja kalendarza za pomoc AJAX-a i jQuery .............................................. 241
Otwieranie formularza do tworzenia wydarzeń ................................................................... 241
Zapytanie AJAX wyświetlające formularz ...................................................................... 242
Modyfikacja pliku do obsługi żądań AJAX .................................................................... 243
Zamykanie okna przyciskiem Anuluj ............................................................................. 246
5
Kup książkę
Poleć książkę
Zgłoś jeśli naruszono regulamin