programowanie obiektowe w php 5 scan.pdf

(5678 KB) Pobierz
1247902441.023.png
Spis treści
Rozszerzanie klasy (dziedziczenie)
38
Nadpisywanie metod
40
Uniemożliwianie nadpisywania
40
Uniemożliwianie rozszerzania
40
Polimorfizm
41
Interfejs
42
Klasa abstrakcyjna
44
Metody i właściwości statyczne
45
Metody akcesorów
48
Używanie metod magicznych do pobierania i ustalania wartości właściwości klasy
49
Metody magiczne służące do przeciążania metod klasy
51
Wizualne przedstawienie klasy
52
Podsumowanie
52
Rozdział 3. Jeszcze więcej OOP
55
Funkcje dostarczające informacje o klasie
55
Sprawdzanie, czy dana klasa istnieje
55
Określanie aktualnie wczytanej klasy
56
Sprawdzanie, czy istnieją podane metody i właściwości
56
Określanie rodzaju klasy
57
Określanie nazwy klasy
57
Obsługa wyjątków
58
Zebranie wszystkich błędów PHP jako wyjątku
62
Iteratory
63
Obiekt ArrayObject
65
Konwersja tablicy na obiekt
66
Dostęp do obiektów z zastosowaniem stylu tablicy
67
Serializacja
68
Metody magiczne w serializacji
70
Klonowanie obiektu
72
Automatyczne wczytywanie klas, czyli klasy na żądanie
73
Łańcuchowe wiązanie metod
74
Cykl życia obiektu w PHP oraz buforowanie obiektu
75
Podsumowanie
77
Rozdział 4. Wzorce projektowe
79
Jak to zostało zrobione wcześniej?
79
Wzorzec Strategia
80
Wzorzec Fabryka
82
Wzorzec Fabryka abstrakcyjna
85
Wzorzec Adapter
87
Wzorzec Singleton
91
Wzorzec Iterator
93
Wzorzec Obserwator
96
Wzorzec Proxy, czyli mechanizm Lazy Loading
98
Wzorzec Dekorator
100
4
1247902441.024.png 1247902441.025.png 1247902441.026.png 1247902441.001.png
 
Spis treści
Wzorzec Active Record
103
Wzorzec Fasada
103
Podsumowanie
106
Rozdział 5. Refleksja i testy jednostkowe
109
Refleksja
109
ReflectionClass
110
Klasa ReflectionMethod
115
Klasa ReflectionParameter
117
Klasa ReflectionProperty
119
Testy jednostkowe
121
Korzyści płynące z testów jednostkowych
121
Krótkie wprowadzenie do niebezpiecznych błędów
122
Przygotowanie do przeprowadzania testów jednostkowych
123
Rozpoczęcie przeprowadzania testów jednostkowych
124
Testowanie obiektu EmailValidator
127
Testy jednostkowe dla zwykłych skryptów
130
Podejście Test Driven Development (TDD)
134
PHPUnit API
139
Podsumowanie
147
Rozdział 6. Biblioteka Standard PHP Library
149
Obiekty dostępne w SPL
149
Klasa ArrayObject
150
Klasa ArrayIterator
155
Klasa DirectoryIterator
157
Klasa RecursiveDirectoryIterator
161
Klasa RecursiveIteratorIterator
162
Klasa AppendIterator
162
Klasa FilterIterator
164
Klasa LimitIterator
165
Klasa NoRewindIterator
166
Interfejs SeekableIterator
167
Interfejs RecursiveIterator
168
Obiekt SPLFileObject
169
Obiekt SPLFileInfo
170
Obiekt SPLObjectStorage
172
Podsumowanie
174
Rozdział 7. Obsługa baz danych z użyciem stylu OOP
175
Wprowadzenie do MySQLi
175
Nawiązywanie połączenia z MySQL w stylu zgodnym z OOP
176
Pobieranie danych w stylu zgodnym z OOP
177
Uaktualnianie danych w stylu zgodnym z OOP
177
Zapytania preinterpretowane
178
Używanie obiektu BLOB w zapytaniach preinterpretowanych
180
Wykonanie procedury składowanej za pomocą MySQLi i PHP
182
5
1247902441.002.png 1247902441.003.png 1247902441.004.png 1247902441.005.png 1247902441.006.png 1247902441.007.png
 
Spis treści
PDO
183
Konfiguracja DSN dla różnych silników baz danych
185
Używanie zapytań preinterpretowanych za pomocą PDO
185
Wywoływanie procedur składowanych
187
Inne ciekawe funkcje
187
Wprowadzenie do Data Abstraction Layers
188
ADOdb
189
MDB2
197
Wprowadzenie do ActiveRecord
200
Tworzenie nowego rekordu za pomocą ActiveRecord
200
Wybór lub uaktualnienie danych
201
Podsumowanie
201
Rozdział 8. Używanie języka XML w stylu zgodnym z OOP
203
Format dokumentu XML
203
Wprowadzenie do SimpleXML
204
Przetwarzanie dokumentów
205
Uzyskiwanie dostępu do atrybutów
206
Przetwarzanie źródeł Flickr za pomocą SimpleXML
206
Zarządzanie sekcjami CDATA za pomocą SimpleXML
209
XPath
210
DOM API
212
Modyfikacja istniejących dokumentów
213
Inne użyteczne funkcje
214
Podsumowanie
214
Rozdział 9. Używanie architektury MVC
215
Co to jest MVC?
215
Rozplanowanie projektu
216
Projekt pliku rozruchowego
216
Dodanie obsługi bazy danych
232
Sterowniki
235
Tworzenie aplikacji na podstawie gotowej struktury
245
Kontroler uwierzytelniania
246
Podsumowanie
252
Skorowidz
253
6
1247902441.008.png 1247902441.009.png 1247902441.010.png 1247902441.011.png 1247902441.012.png
 
2
Rozpoczęcie pracy z OOP
W tym rozdziale czytelnik dowie się, w jaki sposób tworzyć obiekty, definiować ich atrybuty
(czyli właściwości) oraz metody. W języku PHP obiekty zawsze są tworzone za pomocą słowa
kluczowego class . Po lekturze rozdziału czytelnik znacznie rozszerzy wiedzę z zakresu klas,
właściwości i metod. Ponadto w rozdziale tym zostaną podjęte tematy związane z zasięgiem
metod, modyfikatorami metod oraz zostaną przedstawione zalety płynące z używania interfej-
sów. Niniejszy rozdział jest także wprowadzeniem do innych podstawowych funkcji programo-
wania zorientowanego obiektowo w PHP. Biorąc to wszystko pod uwagę, można zaryzykować
stwierdzenie, że ten rozdział jest jednym z lepszych zasobów pozwalających na rozpoczęcie
pracy z OOP w języku PHP.
Tworzenie obiektów
Jak wcześniej wspomniano, obiekt w języku PHP jest tworzony za pomocą słowa kluczowe-
go class . Wymieniona klasa składa się z właściwości i metod (publicznych bądź prywatnych).
Przyjrzyjmy się klasie Emailer , która została już przedstawiona w rozdziale 1. Teraz przeanali-
zujemy sposób działania klasy Emailer :
<?
// class.emailer.php
class Emailer
{
private $sender;
private $recipients;
private $subject;
private $body;
function __construct($sender)
{
$this->sender = $sender;
1247902441.013.png 1247902441.014.png 1247902441.015.png 1247902441.016.png 1247902441.017.png 1247902441.018.png 1247902441.019.png 1247902441.020.png 1247902441.021.png 1247902441.022.png
Zgłoś jeśli naruszono regulamin