PHP. Nowe możliwości, najlepsze praktyki - ebook
PHP. Nowe możliwości, najlepsze praktyki - ebook
Język PHP powraca w wielkim stylu!
Język PHP to obecnie jeden z najbardziej niedocenianych języków programowania. W sieci można znaleźć masę artykułów wykluczających jego zastosowanie w zaawansowanych projektach. A przecież w obecnej wersji język ten jest pełnoprawnym kandydatem do zadań specjalnych! Przekonaj się, jak używać go we właściwy sposób!Ta książka powinna rozwiać wszystkie mity o niedojrzałości języka PHP. Sięgnij po nią i przekonaj się, jakie fantastyczne możliwości daje Ci najnowsza wersja języka. Wśród nich znajdziesz domknięcia, wbudowany serwer HTTP, przestrzenie nazw oraz generatory. Ponadto poznasz standardy kodowania PSR oraz przekonasz się, jak korzystać z gotowych komponentów. Na kolejnych stronach znajdziesz informacje na temat najlepszych praktyk i dowiesz się, jak skonfigurować środowisko uruchomieniowe tak, żeby osiągnąć jego najwyższą wydajność. Ta książka jest obowiązkową lekturą dla wszystkich programistów języka PHP. Język PHP właśnie się odradza — lepszy i silniejszy!
- Poznaj najnowsze elementy języka PHP, takie jak przestrzenie nazw, cechy, generatory i zamknięcia.
- Dowiedz się gdzie szukać gotowych komponentów oraz jak ich używać i tworzyć własne.
- Naucz się stosować najlepsze techniki zabezpieczania aplikacji, pracy z bazami danych, obsługi wyjątków i błędów.
- Naucz się technik wdrażania, dostrajania, testowania i profilowania aplikacji PHP przy użyciu odpowiednich narzędzi.
- Poznaj interpreter HHVM i język Hack Facebooka oraz dowiedz się, jaki wpływ mają na nowoczesny język PHP.
- Zbuduj lokalne środowisko programistyczne o podobnych cechach, jak serwer produkcyjny.
Przekonaj się, jakie nowości kryje PHP!
„W programowaniu pewne jest tylko to, że wszystko się zmienia. PHP także ulega zmianom, co wymusza modyfikowanie sposobu podejścia do tworzenia aplikacji przez programistów. Josh opisał narzędzia i pojęcia, które należy znać, aby pisać nowoczesne programy w języku PHP.”
— Cal Evans
Spis treści
Wstęp (13)
CZĘŚĆ I. SKŁADNIKI JĘZYKA
1. Nowy PHP (19)
- Przeszłość (19)
- Teraźniejszość (20)
- Przyszłość (21)
2. Funkcjonalność (23)
- Przestrzenie nazw (23)
- Do czego służą przestrzenie nazw (25)
- Deklaracja (25)
- Importowanie i aliasy (26)
- Porady (28)
- Interfejsy (30)
- Cechy (33)
- Do czego służą cechy (34)
- Jak utworzyć cechę (35)
- Sposób użycia cech (36)
- Generatory (37)
- Tworzenie generatora (37)
- Sposób użycia generatorów (38)
- Zamknięcia (40)
- Tworzenie zamknięć (40)
- Wiązanie stanu (41)
- Rozszerzenie Zend OPcache (43)
- Włączanie rozszerzenia Zend OPcache (44)
- Konfiguracja Zend OPcache (44)
- Korzystanie z Zend OPcache (45)
- Wbudowany serwer HTTP (46)
- Uruchamianie serwera (46)
- Konfiguracja serwera (46)
- Skrypty trasujące (47)
- Wykrywanie serwera wbudowanego (47)
- Wady (47)
- Co dalej (48)
CZĘŚĆ II. NAJLEPSZE PRAKTYKI
3. Standardy (51)
- PHP-FIG na ratunek (51)
- Współpraca między systemami szkieletowymi (52)
- Interfejsy (52)
- Automatyczne wczytywanie zależności (53)
- Styl (53)
- Co to jest PSR (53)
- PSR-1 - podstawowy styl kodowania (54)
- PSR-2 - restrykcyjny styl kodowania (55)
- PSR-3 - interfejs rejestratora dziennikowego (58)
- PSR-4 - automatyczne wczytywanie zależności (60)
4. Komponenty (63)
- Dlaczego używać komponentów (63)
- Czym są komponenty (64)
- Komponenty a systemy szkieletowe (65)
- Nie wszystkie systemy szkieletowe są złe (65)
- Używaj odpowiednich narzędzi (66)
- Wyszukiwanie komponentów (67)
- Kupuj (67)
- Wybieraj (68)
- Pozwól poznać swoją opinię (69)
- Używanie komponentów PHP (69)
- Jak zainstalować Composera (70)
- Sposób użycia Composera (71)
- Przykładowy projekt (72)
- Composer i prywatne repozytoria (75)
- Tworzenie komponentów PHP (76)
- Nazwy dostawcy i pakietu (76)
- Przestrzenie nazw (77)
- Hierarchia plików (77)
- Plik composer.json (78)
- Plik README (80)
- Implementacja komponentu (80)
- Kontrola wersji (82)
- Wysyłanie komponentu do katalogu Packagist (82)
- Używanie komponentu (83)
5. Najlepsze praktyki (85)
- Dezynfekcja, sprawdzanie i kontrola wyjścia (85)
- Dezynfekcja danych wejściowych (86)
- Sprawdzanie poprawności danych (88)
- Kontrolowanie danych wyjściowych (89)
- Hasła (90)
- Nie poznawaj haseł użytkowników (90)
- Nigdy nie ograniczaj haseł użytkowników (90)
- Nigdy nie wysyłaj haseł na adres e-mail (91)
- Mieszaj hasła użytkowników za pomocą algorytmu bcrypt (91)
- API mieszania haseł (92)
- Mieszanie haseł w wersjach PHP starszych od 5.5.0 (96)
- Data, godzina i strefa czasowa (96)
- Ustawianie domyślnej strefy czasowej (96)
- Klasa DateTime (96)
- Klasa DateInterval (97)
- Klasa DateTimeZone (98)
- Klasa DatePeriod (99)
- Komponent nesbot/carbon (100)
- Bazy danych (100)
- Rozszerzenie PDO (101)
- Połączenia z bazą danych i nazwy źródeł danych (101)
- Instrukcje przygotowane (103)
- Wyniki zapytań (105)
- Transakcje (107)
- Łańcuchy wielobajtowe (110)
- Kodowanie znaków (111)
- Zwracanie danych w formacie UTF-8 (111)
- Strumienie (112)
- Opakowania strumieni (112)
- Kontekst strumienia (115)
- Filtry strumieni (115)
- Tworzenie własnych filtrów strumieni (117)
- Błędy i wyjątki (119)
- Wyjątki (120)
- Procedury obsługi wyjątków (123)
- Błędy (123)
- Procedury obsługi błędów (125)
- Błędy i wyjątki w czasie pracy (126)
- Produkcja (128)
CZĘŚĆ III. WDRAŻANIE, TESTOWANIE I DOSTRAJANIE
6. Hosting (133)
- Serwer współdzielony (133)
- Serwer wirtualny (134)
- Serwer dedykowany (134)
- PaaS (135)
- Wybór planu hostingowego (135)
7. Wdrażanie serwera (137)
- Cel (137)
- Konfiguracja serwera (138)
- Pierwsze logowanie (138)
- Aktualizacja oprogramowania (139)
- Inny użytkownik niż root (139)
- Uwierzytelnianie poprzez SSH przy użyciu pary kluczy (140)
- Wyłączanie haseł i możliwości logowania się użytkownika root (141)
- PHP-FPM (142)
- Instalacja (142)
- Konfiguracja globalna (143)
- Konfiguracja puli (143)
- Serwer nginx (146)
- Instalacja (146)
- Host wirtualny (146)
- Automatyzacja wdrażania serwera (149)
- Zlecanie wdrażania serwerów (149)
- Dodatkowe źródła (149)
- Co dalej (149)
8. Dostrajanie (151)
- Plik php.ini (151)
- Pamięć (152)
- Zend OPcache (153)
- Wysyłanie plików (154)
- Maksymalny czas wykonywania (155)
- Obsługa sesji (156)
- Buforowanie wyników (156)
- Bufor ścieżek (157)
- W następnym rozdziale (157)
9. Wdrażanie aplikacji (159)
- Kontrola wersji (159)
- Automatyzacja wdrażania (159)
- Prostota (159)
- Przewidywalność (160)
- Odwracalność (160)
- Capistrano (160)
- Jak to działa (160)
- Instalacja (161)
- Konfiguracja (161)
- Uwierzytelnianie (162)
- Przygotowanie serwera (163)
- Haki Capistrano (163)
- Wdrażanie aplikacji (164)
- Cofanie aplikacji (164)
- Dodatkowe informacje (164)
- W następnym rozdziale (164)
10. Testowanie (165)
- Jak testować (165)
- Kiedy testować (166)
- Przed (166)
- W trakcie (166)
- Po (166)
- Co testować (166)
- Jak testować (167)
- Testy jednostkowe (167)
- Programowanie przez testy (167)
- Programowanie behawioralne (167)
- PHPUnit (168)
- Struktura katalogów (169)
- Instalacja PHPUnit (170)
- Instalacja Xdebug (170)
- Konfiguracja PHPUnit (170)
- Klasa Whovian (171)
- Przypadek testowy WhovianTest (172)
- Uruchamianie testów (175)
- Pokrycie kodu (175)
- Ciągłe testowanie przy użyciu programu Travis CI (176)
- Konfiguracja (176)
- Wykonywanie testów (177)
- Dodatkowe źródła (178)
- W następnym rozdziale (178)
11. Profilowanie (179)
- Kiedy używać profilera (179)
- Typy profilerów (179)
- Xdebug (180)
- Konfiguracja (180)
- Uruchamianie (181)
- Analiza (181)
- XHProf (181)
- Instalacja (181)
- XHGUI (182)
- Konfiguracja (182)
- Uruchamianie (183)
- Profiler New Relic (183)
- Profiler Blackfire (183)
- Dodatkowe źródła (184)
- W następnym rozdziale (184)
12. HHVM i Hack (185)
- HHVM (185)
- PHP w Facebooku (186)
- Zgodność HHVM i Zend Engine (187)
- Czy interpreter HHVM jest dla mnie (187)
- Instalacja (188)
- Konfiguracja (189)
- Rozszerzenia (189)
- Monitorowanie HHVM za pomocą narzędzia Supervisord (190)
- HHVM, FastCGI i nginx (191)
- Język Hack (192)
- Konwersja PHP na Hack (192)
- Co to jest typ (193)
- Typowanie statyczne (194)
- Typowanie dynamiczne (195)
- Hack jest uniwersalny (195)
- Sprawdzanie typów w języku Hack (196)
- Tryby Hack (196)
- Składnia języka Hack (197)
- Struktury danych języka Hack (199)
- HHVM i Hack a PHP (199)
- Dodatkowe źródła informacji (200)
13. Społeczność (201)
- Lokalne grupy użytkowników PHP (201)
- Konferencje (201)
- Mentoring (202)
- Trzymaj rękę na pulsie (202)
- Strony internetowe (202)
- Listy mailingowe (202)
- Twitter (202)
- Podcasty (202)
- Humor (202)
DODATKI
A. Instalacja PHP (205)
B. Lokalne środowiska deweloperskie (221)
Skorowidz (227)
Kategoria: | Webmaster |
Zabezpieczenie: |
Watermark
|
ISBN: | 978-83-283-1403-0 |
Rozmiar pliku: | 2,3 MB |