php. receptury. wydanie ii ebook.pdf

(8858 KB) Pobierz
888983177.001.png
2.5. Generowanie liczb losowych z danego przedziału
63
2.6. Generowanie ważonych liczb losowych
65
2.7. Obliczanie logarytmów
66
2.8. Obliczanie potęg
66
2.9. Formatowanie liczb
67
2.10. Formatowanie wartości walutowych
69
2.11. Wyświetlanie słów w liczbie mnogiej
70
2.12. Obliczanie wartości funkcji trygonometrycznych
72
2.13. Obliczanie funkcji trygonometrycznych w stopniach, a nie w radianach
73
2.14. Obsługa bardzo dużych lub bardzo małych liczb
73
2.15. Przekształcanie liczb z jednego systemu liczbowego na inny
75
2.16. Wykonywanie obliczeń na liczbach systemów innych niż dziesiętny
76
2.17. Określenie odległości między dwoma punktami
78
3.
Daty i czas ...................................................................................................................... 81
3.0. Wprowadzenie
81
3.1. Sprawdzanie aktualnej daty i czasu
82
3.2. Przekształcanie elementów daty i czasu w znaczniki czasu epoki
85
3.3. Przekształcanie znacznika czasu epoki w elementy czasu i daty
87
3.4. Wyświetlanie daty lub czasu w określonym formacie
88
3.5. Obliczanie różnicy między dwiema datami
93
3.6. Obliczanie różnicy między dwiema datami mierzonej
w dniach liczonych według kalendarza juliańskiego
95
3.7. Znajdowanie dnia tygodnia, miesiąca lub roku oraz numeru tygodnia w roku
96
3.8. Weryfikacja poprawności daty
98
3.9. Parsowanie dat i czasu z łańcuchów znaków
100
3.10. Dodawanie lub odejmowanie czasu od daty
103
3.11. Wyznaczanie czasu w strefach czasowych
104
3.12. Uwzględnianie czasu letniego
110
3.13. Generowanie czasu o wysokiej precyzji
111
3.14. Generowanie przedziałów czasowych
113
3.15. Stosowanie kalendarzy innych niż gregoriański
114
3.16. Korzystanie z dat wykraczających
poza zakres znacznika czasu epoki uniksowej
118
3.17. Program Calendar
120
4.
Tablice .......................................................................................................................... 123
4.0. Wprowadzenie
123
4.1. Tworzenie tablicy zaczynającej się od indeksu różnego od 0
125
4.2. Przechowywanie w tablicy wielu elementów pod jednym kluczem
127
4.3. Inicjowanie tablicy liczbami całkowitymi z określonego przedziału
128
4.4. Iterowanie przez kolejne elementy tablicy
129
4
Spis treści
4.5. Usuwanie elementów z tablicy
131
4.6. Zmienianie rozmiaru tablicy
133
4.7. Łączenie tablic
135
4.8. Przekształcanie tablicy w łańcuch znaków
137
4.9. Wyświetlanie zawartości tablicy z przecinkami
138
4.10. Sprawdzanie, czy klucz jest w tablicy
139
4.11. Sprawdzanie, czy element jest w tablicy
140
4.12. Znajdowanie pozycji elementu w tablicy
142
4.13. Znajdowanie elementów, które spełniają odpowiednie warunki
143
4.14. Znajdowanie elementu tablicy o największej lub najmniejszej wartości
144
4.15. Odwracanie tablicy
145
4.16. Sortowanie tablicy
146
4.17. Sortowanie tablicy na podstawie porównywalnych pól
147
4.18. Sortowanie wielu tablic
149
4.19. Sortowanie tablicy przy użyciu metody, a nie funkcji
151
4.20. Ustawianie elementów tablicy w kolejności losowej
151
4.21. Usuwanie z tablicy powtarzających się elementów
152
4.22. Przypisanie funkcji do każdego elementu tablicy
153
4.23. Wyznaczanie sumy, przecięcia lub różnicy między dwiema tablicami
155
4.24. Wykorzystanie obiektu w sposób charakterystyczny dla tablic
157
4.25. Program — wyświetlanie tablicy w tabeli HTML
z kolumnami ułożonymi w poziomie
160
5.
Zmienne ....................................................................................................................... 163
5.0. Wprowadzenie
163
5.1. Unikanie pomyłek między operatorami == i =
164
5.2. Ustalanie wartości domyślnej
165
5.3. Wymiana wartości bez używania zmiennych tymczasowych
166
5.4. Tworzenie dynamicznej nazwy zmiennej
167
5.5. Stosowanie zmiennych statycznych
168
5.6. Współdzielenie zmiennych pomiędzy procesami
170
5.7. Enkapsulacja złożonych typów danych do postaci łańcucha znaków
174
5.8. Wyświetlanie zawartości zmiennej w postaci łańcuchów znaków
176
6.
Funkcje ..........................................................................................................................181
6.0. Wprowadzenie
181
6.1. Uzyskiwanie dostępu do parametrów funkcji
182
6.2. Ustawianie domyślnych wartości parametrów funkcji
183
6.3. Przekazywanie wartości przez referencję
185
6.4. Stosowanie parametrów nazwanych
185
6.5. Tworzenie funkcji pobierających zmienną liczbę argumentów
187
Spis treści
5
6.6. Zwracanie wartości przez referencję
189
6.7. Zwracanie więcej niż jednej wartości
191
6.8. Pomijanie pewnych zwracanych wartości
192
6.9. Zwracanie błędu
193
6.10. Wywoływanie funkcji zależnie od wartości zmiennych
195
6.11. Dostęp do zmiennej globalnej wewnątrz funkcji
197
6.12. Tworzenie funkcji dynamicznych
198
7.
Klasy i obiekty .............................................................................................................201
7.0. Wprowadzenie
201
7.1. Tworzenie egzemplarzy klasy
205
7.2. Definiowanie konstruktorów obiektów
206
7.3. Definiowanie destruktorów obiektu
207
7.4. Kontrola dostępu
209
7.5. Zabezpieczenie klas i metod przed zmianami
211
7.6. Przekształcanie obiektu w ciąg tekstowy
213
7.7. Tworzenie interfejsów
215
7.8. Tworzenie abstrakcyjnej klasy bazowej
217
7.9. Przypisywanie referencji do obiektów
220
7.10. Klonowanie obiektów
220
7.11. Przesłonięcie procedury dostępu do właściwości
223
7.12. Wywoływanie metod obiektu zwracanego przez inną metodę
227
7.13. Agregowanie obiektów
228
7.14. Dostęp do metod przesłoniętych
231
7.15. Wykorzystanie polimorfizmu metod
233
7.16. Definiowanie stałych klasy
235
7.17. Definiowanie statycznych właściwości i metod
237
7.18. Nadzorowanie serializacji obiektów
239
7.19. Introspekcja obiektów
240
7.20. Sprawdzenie, czy obiekt jest egzemplarzem określonej klasy
244
7.21. Automatyczne pobieranie plików klasy podczas powoływania obiektu
247
7.22. Dynamiczne tworzenie obiektów
249
7.23. Program whereis
250
8.
Podstawy programowania na potrzeby WWW ........................................................253
8.0. Wprowadzenie
253
8.1. Zapisywanie danych cookie
254
8.2. Odczytywanie danych cookie
256
8.3. Usuwanie danych cookie
257
8.4. Odsyłanie do innej strony
258
8.5. Pozyskiwanie informacji o przeglądarkach
259
6
Spis treści
8.6. Konstruowanie zapytania metody GET
261
8.7. Odczytywanie treści żądania POST
262
8.8. Tabele HTML z wierszami o różnych atrybutach stylu
263
8.9. Proste uwierzytelnianie HTTP
264
8.10. Uwierzytelnianie z wykorzystaniem danych cookie
268
8.11. Wymuszenie przesłania danych do przeglądarki
271
8.12. Buforowanie danych wyjściowych
272
8.13. Przesyłanie danych z użyciem kompresji gzip
273
8.14. Odczyt zmiennych środowiskowych
274
8.15. Ustawianie wartości zmiennych środowiskowych
275
8.16. Komunikacja w ramach serwera Apache
277
8.17. Program — aktywowanie i dezaktywowanie stron
internetowych użytkowników
278
8.18. Prosty serwis Wiki
280
9.
Formularze ................................................................................................................. 283
9.0. Wprowadzenie
283
9.1. Przetwarzanie danych pochodzących z formularza
285
9.2. Weryfikacja danych formularza — pola obowiązkowe
286
9.3. Weryfikacja danych formularza — liczby
288
9.4. Weryfikacja danych formularza — adresy poczty elektronicznej
291
9.5. Weryfikacja danych formularza — listy rozwijane
292
9.6. Weryfikacja danych formularzy — przyciski opcji
294
9.7. Weryfikacja danych formularza — pola wyboru
295
9.8. Weryfikacja danych formularza — wartości daty i czasu
297
9.9. Weryfikacja danych formularza — dane kart kredytowych
298
9.10. Ochrona przed atakami XSS
299
9.11. Formularze wielostronicowe
300
9.12. Powtórne wyświetlanie formularzy wraz z komunikatami o błędach
302
9.13. Zabezpieczenie przed wielokrotnym przesyłaniem tego samego formularza
304
9.14. Obsługa przesyłanych plików
306
9.15. Zabezpieczenie przed wstrzyknięciem zmiennej globalnej
309
9.16. Obsługa zmiennych zawierających w nazwie znak kropki
311
9.17. Elementy formularza o większej liczbie opcji
312
9.18. Listy rozwijane zawierające daty
313
10.
Dostęp do baz danych ................................................................................................. 317
10.0. Wprowadzenie
317
10.1. Bazy danych DBM
320
10.2. Bazy danych SQLite
323
10.3. Zestawianie połączeń z bazami danych SQL
325
Spis treści
7
Zgłoś jeśli naruszono regulamin