PHP. Wzorce projektowe (ebook)(audiobook)(audiobook)
- Autor:
- William Sanders
- Promocja Przejdź
- Wydawnictwo:
- Helion
- Wydawnictwo:
- Helion
- Ocena:
- 4.5/6 Opinie: 10
- Stron:
- 304
- Druk:
- oprawa miękka
- 3w1 w pakiecie:
-
PDFePubMobi
Opis książki
Czytaj fragment
Ciągły rozwój języka PHP sprawia, że za jego pomocą można już tworzyć bardzo zaawansowane aplikacje. Wszyscy programiści wiedzą, że wraz ze wzrostem skomplikowania tworzonego oprogramowania konieczne staje się zastosowanie sprawdzonych, przemyślanych i przetestowanych rozwiązań. Takim zbiorem najlepszych metod rozwiązywania typowych problemów są wzorce projektowe. Zawitały one również do świata PHP!
Na rynku znajdziesz wiele książek poświęconych wzorcom projektowym, jednak dotyczą one zazwyczaj języków Java lub C. Ta wyjątkowa książka zajmuje się wzorcami w języku PHP. W trakcie lektury poznasz podstawowe założenia programowania obiektowego, wzorce czynnościowe, kreacyjne i strukturalne. Przekonasz się też, jak bardzo wzrośnie jakość Twojego kodu, jeżeli do komunikacji z bazą danych MySQL zastosujesz wzorzec Proxy. Książka ta jest obowiązkową lekturą każdego programisty piszącego w języku PHP. Zobacz, jak dobry może być Twój kod!
Wzorce projektowe w PHP to:
- najlepsze rozwiązania typowych problemów
- sposób na poprawę jakości Twojego kodu
- łatwiejsza komunikacja z bazą danych MySQL
- mniej błędów w Twoich aplikacjach
Przekonaj się, jak tworzyć kod wysokiej jakości!
Podobne produkty
-
JavaScript i jQuery. Interaktywne strony WWW dl... JavaScript i jQuery. Interaktywne strony WWW dla każdego. Podręcznik Front-End Developera
Jon Duckett
-
Vue.js 2. Wprowadzenie dla profesjonalistów Vue.js 2. Wprowadzenie dla profesjonalistów
Adam Freeman
-
WordPress 5 dla początkujących WordPress 5 dla początkujących
Agnieszka Ciborowska, Jarosław Lipiński
-
HTML i CSS. Zaprojektuj i zbuduj witrynę WWW. P... HTML i CSS. Zaprojektuj i zbuduj witrynę WWW. Podręcznik Front-End Developera
Jon Duckett
-
Biblia copywritingu Biblia copywritingu
Dariusz Puzyrkiewicz
-
Baw się kodem! Twoja własna strona WWW. CoderDo... Baw się kodem! Twoja własna strona WWW. CoderDojo Nano
Clyde Hatter, CoderDojo
Szczegóły książki
- Tytuł oryginału:
- Learning PHP Design Patterns
- Tłumaczenie:
- Jakub Hubisz
- ISBN Książki drukowanej:
- 978-83-246-7455-8, 9788324674558
- Data wydania książki drukowanej:
- 2013-10-21
- ISBN Ebooka:
- 978-83-246-7458-9, 9788324674589
- Data wydania ebooka:
-
2013-10-20
Data wydania ebooka często jest dniem wprowadzenia tytułu do sprzedaży i może nie być równoznaczna z datą wydania książki papierowej. Dodatkowe informacje możesz znaleźć w darmowym fragmencie. Jeśli masz wątpliwości skontaktuj się z nami sklep@helion.pl.
- Format:
- 168x237
- Numer z katalogu:
- 15007
- Rozmiar pliku Pdf:
- 6.1MB
- Rozmiar pliku ePub:
- 6.7MB
- Rozmiar pliku Mobi:
- 6.1MB
- Pobierz przykładowy rozdział PDF
- Przykłady na ftp
Ebook zawiera materiały dodatkowe, które możesz pobrać z serwera FTP - link znajdziesz na stronie redakcyjnej.
- Erraty / Zgłoś erratę
- Kategorie:
Technologie webowe » PHP - Programowanie
- Serie wydawnicze: O'Reilly
Spis treści
- Wstęp do średnio zaawansowanego i zaawansowanego programowania (21)
- Dlaczego programowanie zorientowane obiektowo? (22)
- W jaki sposób ułatwić rozwiązywanie problemów? (22)
- Modularyzacja (23)
- Klasy i obiekty (23)
- Zasada jednej odpowiedzialności (24)
- Konstruktory w PHP (24)
- Klient jako klasa żądająca (25)
- Co z wydajnością? (28)
- Szybkość tworzenia i modyfikacji rozwiązań (28)
- Szybkość w zespole (29)
- Problemy z programowaniem sekwencyjnym i proceduralnym (29)
- Programowanie sekwencyjne (29)
- Programowanie proceduralne (30)
- Zapłać teraz lub zapłać potem (30)
- Abstrakcja (33)
- Klasy abstrakcyjne (34)
- Właściwości i metody abstrakcyjne (35)
- Interfejsy (37)
- Interfejsy i stałe (38)
- Podpowiadanie typów: prawie typowanie (39)
- Enkapsulacja (41)
- Enkapsulacja w życiu codziennym (41)
- Zapewnienie enkapsulacji poprzez widoczność (42)
- Funkcje ustawiające i pobierające (44)
- Dziedziczenie (46)
- Polimorfizm (47)
- Jedna nazwa, wiele implementacji (49)
- Polimorfizm wbudowany we wzorcach projektowych (50)
- Tylko spokojnie (50)
- Wprowadzenie do MVC (51)
- Podstawowe zasady wzorców projektowych (53)
- Pierwsza zasada wzorców projektowych (54)
- Wykorzystanie typów interfejsowych przy podpowiadaniu typów (54)
- Klasy abstrakcyjne i ich interfejsy (55)
- Druga zasada wzorców projektowych (58)
- Przykład złożoności przy wykorzystaniu klienta (58)
- Delegacja: różnica między MA a JEST (61)
- Wzorce projektowe jako wielka ściąga (61)
- Organizacja wzorców projektowych (62)
- Wybór wzorca projektowego (63)
- Czym spowodowana jest konieczność powtórnego projektowania? (63)
- Co się zmienia? (63)
- Czym różnią się wzorce projektowe od frameworków? (64)
- Po co język modelowania UML? (65)
- Diagramy klas (66)
- Symbole uczestnictwa (67)
- Notacja relacji (69)
- Relacje asocjacji (69)
- Relacje agregacji (71)
- Relacje implementacji i dziedziczenia (72)
- Relacje tworzenia (74)
- Relacje wielokrotne (74)
- Diagramy obiektów (75)
- Diagramy interakcji (76)
- Rola diagramów i notacji w programowaniu obiektowym (77)
- Narzędzia dla UML (77)
- Inne diagramy UML (78)
- Czym jest wzorzec Metoda Fabrykująca? (81)
- Kiedy korzystać z Metody Fabrykującej (82)
- Minimalistyczny przykład (83)
- Praca z fabryką (83)
- Klient (85)
- Wprowadzanie zmian w klasach (86)
- Dodanie elementów graficznych (86)
- Koordynowanie produktów (87)
- Zmiany w produkcie tekstowym (88)
- Zmiany w produkcie graficznym (89)
- Dodanie nowych produktów i parametryzowanych żądań (90)
- Jedna fabryka i wiele produktów (91)
- Nowe fabryki (91)
- Nowe produkty (92)
- Klient z parametrem (93)
- Klasy pomocnicze (94)
- Diagram plików (95)
- Produkty się zmieniają, interfejs zostaw w spokoju (96)
- Czym jest wzorzec Prototyp? (99)
- Kiedy wykorzystać wzorzec Prototyp (99)
- Funkcja klonująca (100)
- Podczas klonowania konstruktor nie jest wywoływany (102)
- W funkcji konstruktora nie powinny być wykonywane żadne zadania (103)
- Minimalistyczny przykład (103)
- Badanie muszek owocówek (103)
- Dodanie do prototypu elementów obiektowych (106)
- Nowoczesna organizacja biznesowa (107)
- Enkapsulacja w interfejsie (107)
- Implementacje interfejsów (108)
- Klient (111)
- Wprowadzanie zmian, rozbudowa funkcjonalności (113)
- Dynamiczne tworzenie instancji obiektów (114)
- Wzorzec Prototyp w świecie PHP (115)
- Czym jest wzorzec Adapter? (119)
- Kiedy wykorzystywać wzorzec Adapter (120)
- Wzorzec Adapter zaimplementowany przy wykorzystaniu dziedziczenia (122)
- Minimalistyczny przykład adaptera klas: wymiana walut (122)
- Wzorzec Adapter zaimplementowany przy wykorzystaniu kompozycji (126)
- Z komputerów osobistych na urządzenia mobilne (126)
- Adaptery a zmiany (133)
- Czym jest wzorzec Dekorator? (135)
- Kiedy wykorzystywać wzorzec Dekorator (136)
- Minimalistyczny przykład dekoratora (137)
- Interfejs komponentu (137)
- Interfejs dekoratora (137)
- Konkretny komponent (138)
- Konkretne dekoratory (139)
- Klient (141)
- Co z opakowywaniem? (142)
- Opakowywanie prymitywów (142)
- Klasy i funkcje opakowujące wbudowane w PHP (142)
- Wzorce projektowe polegające na opakowywaniu (143)
- Dekoratory z wieloma komponentami (143)
- Wiele konkretnych komponentów (144)
- Konkretne komponenty z wieloma stanami i wartościami (144)
- Usługi randkowe dla programistów (145)
- Interfejs użytkownika (UI) w HTML (150)
- Klasa Client przekazująca dane z HTML (154)
- Od nazwy zmiennej do instancji obiektu (155)
- Dodawanie dekoracji (155)
- Czym jest wzorzec Metoda Szablonowa? (159)
- Kiedy wykorzystywać wzorzec Metoda Szablonowa (160)
- Wykorzystanie wzorca Metoda Szablonowa z obrazami i podpisami: minimalistyczny przykład (160)
- Klasa abstrakcyjna (161)
- Klasa konkretna (161)
- Klasa Client (162)
- Zasada Hollywood (162)
- Wykorzystanie Metody Szablonowej z innymi wzorcami projektowymi (164)
- Zmniejszenie obowiązków klienta (165)
- Uczestnicy wzorca Metoda Szablonowa (166)
- Uczestnicy wzorca Metoda Fabrykująca (167)
- Hak we wzorcu Metoda Szablonowa (169)
- Ustawienie haka (171)
- Implementacja haka (171)
- Klasa Client i uruchomienie haka (172)
- Mały, ale potężny wzorzec Metoda Szablonowa (174)
- Czym jest wzorzec Stan? (175)
- Kiedy korzystać ze wzorca Stan (176)
- Maszyna stanowa (177)
- Światło włączone i wyłączone: minimalistyczna implementacja wzorca (178)
- Kontekst jest najważniejszy (178)
- Stany (181)
- Klasa Client wykonuje żądanie przez Context (182)
- Dodawanie stanów (183)
- Zmiana interfejsu (183)
- Zmiana stanów (184)
- Aktualizacja klasy Context (186)
- Zaktualizowana klasa Client (187)
- Nawigator: więcej wyborów i komórek (188)
- Ustalenie szablonu stanów dla macierzy (189)
- Przygotowanie interfejsu (189)
- Kontekst (190)
- Stany (192)
- Klient wybiera ścieżkę (197)
- Wzorzec Stan a PHP (198)
- Prosty interfejs i klasa do połączeń MySQL (201)
- Interfejs w ciąży (202)
- Uniwersalna klasa połączeniowa MySQL i zmienne statyczne (202)
- Prosty klient (204)
- Proxy zabezpieczające proces logowania (204)
- Stworzenie formularza rejestracji (205)
- Implementacja proxy logowania (209)
- Proxy i bezpieczeństwo w prawdziwym świecie (214)
- Algorytmy enkapsulujące (217)
- Różnica między wzorcami Strategia i Stan (218)
- Żadnych poleceń warunkowych, proszę (219)
- Rodzina algorytmów (219)
- Minimalistyczny wzorzec Strategia (219)
- Klasa Client i skrypty wyzwalające (221)
- Klasa Context i interfejs strategii (223)
- Konkretne strategie (224)
- Rozszerzony wzorzec Strategia uwzględniający bezpieczeństwo danych i parametryzowane algorytmy (227)
- Klasa pomocnicza odpowiedzialna za bezpieczeństwo danych (227)
- Dodanie parametru do metody algorithm (230)
- Tabela survey (230)
- Moduły wprowadzania danych (231)
- Klasa Client wzywa pomocy (235)
- Drobna, ale ważna zmiana w klasie Context (237)
- Konkretne strategie (237)
- Elastyczny wzorzec Strategia (242)
- Podaj dalej (245)
- Łańcuch Odpowiedzialności w aplikacji pomocy technicznej (247)
- Utworzenie i uzupełnienie tabeli odpowiedzi (247)
- Łańcuch Odpowiedzialności pomocy technicznej (251)
- Zautomatyzowany Łańcuch Odpowiedzialności i Metoda Fabrykująca (256)
- Łańcuch Odpowiedzialności i żądania w oparciu o datę (256)
- Metoda Fabrykująca wieńczy dzieło (261)
- Łatwość aktualizacji (265)
- Wbudowane interfejsy Obserwatora (267)
- Kiedy korzystać ze wzorca Obserwator (268)
- Wykorzystanie SPL we wzorcu Obserwator (269)
- SplSubject (270)
- SplObserver (270)
- SplObjectStorage (271)
- Konkretny podmiot SPL (271)
- Konkretny obserwator SPL (272)
- Klient SPL (273)
- Czyste PHP i wzorzec Obserwator (274)
- Implementacja klas abstrakcyjnych Subject i ConcreteSubject (274)
- Interfejs Observer i wiele konkretnych obserwatorów (276)
- Klient (277)
- Budowa prostego systemu CMS (278)
- Infrastruktura programu (279)
- Obserwator dla wielu urządzeń (283)
- Myślenie obiektowe (294)
Przedmowa (13)
I. WSTĘP DO WZORCÓW PROJEKTOWYCH (19)
1. PHP a programowanie obiektowe (21)
2. Podstawowe zagadnienia programowania obiektowego (33)
3. Podstawowe zagadnienia wzorców projektowych (51)
4. Wykorzystanie UML-a we wzorcach projektowych (65)
II. WZORCE KREACYJNE (79)
5. Wzorzec Metoda Fabrykująca (81)
6. Wzorzec Prototyp (99)
III. WZORCE STRUKTURALNE (117)
7. Wzorzec Adapter (119)
8. Wzorzec Dekorator (135)
IV. WZORCE CZYNNOŚCIOWE (157)
9. Wzorzec Metoda Szablonowa (159)
10. Wzorzec Stan (175)
V. MYSQL I WZORCE PROJEKTOWE PHP (199)
11. Uniwersalna klasa połączeniowa i wykorzystanie wzorca Proxy dla bezpieczeństwa (201)
12. Elastyczny wzorzec projektowy Strategia (217)
13. Wzorzec projektowy Łańcuch Odpowiedzialności (245)
14. Budowa systemu CMS za pomocą wzorca Obserwator (267)
Skorowidz (295)
Oceny i opinie klientów (10)
(5)
(0)
(2)
(1)
(2)
(0)
6 oceniona przez: Wojciech Szuba, uczeń 2014-01-20
6 oceniona przez: Wojciech Szuba, uczeń 2014-01-20
6 oceniona przez: szaweł, 2015-12-11
6 oceniona przez: Wojciech Szuba, uczeń 2014-01-17
6 oceniona przez: Michał Demut, Inżynier Informatyki 2014-07-03
4 oceniona przez: Tomasz, Programista 2014-06-23
4 oceniona przez: Jakub Zimoń, PHP Developer 2015-05-26
3 oceniona przez: Rafał K., Front-end Web developer 2016-10-01
2 oceniona przez: 2014-05-30
2 oceniona przez: student informatyki 2015-03-14
więcej opinii