E-book details

PHP. Praktyczne projekty

PHP. Praktyczne projekty

Włodzimierz Gajda

Ebook

Wykorzystaj w praktyce potęgę możliwości PHP!

  • Podstawy języka PHP, pierwsze skrypty, instrukcje i elementy
  • Funkcje i ich biblioteki, przetwarzanie tablic i tworzenie plików
  • Przykłady praktycznego zastosowania skryptów PHP

Język PHP nie od dziś stanowi jeden z najłatwiejszych w nauce i najelastyczniejszych języków programowania. Jego ogromne możliwości wykorzystywane są na ogół przy tworzeniu interaktywnych stron internetowych, a obiektowy charakter oraz modułowość stanowią atuty dla programistów, wreszcie zwolnionych z konieczności ustawicznego przepisywania tego samego kodu. Jak każdego innego języka, także i PHP najłatwiej nauczyć się na konkretnych, praktycznych przykładach -- wiele z nich zamieszczono właśnie w tej książce.

"PHP. Praktyczne projekty " to naprawdę wyjątkowy podręcznik do nauki PHP. Nie spodziewaj się tu suchych, typowo podręcznikowych teorii! Znajdziesz w nim za to omówienie wszystkich elementów języka PHP, działania skryptów, funkcji i bibliotek wraz z dowcipnymi i przejrzystymi przykładami ich użycia. Pierwsza część książki wprowadzi Cię w świat PHP oraz wyjaśni, jak stosować i łączyć poszczególne polecenia w dobrze działający kod. Z następnych rozdziałów wyniesiesz już umiejętności czysto praktyczne, dotyczące wszystkich obszarów wykorzystania tego języka przy tworzeniu najróżniejszych projektów.

  • Instrukcje wyjściowe i sterujące, stałe, zmienne, wyrażenia oraz operatory
  • Funkcje w PHP i ich biblioteki
  • Programowanie obiektowe i formatowanie kodu PHP
  • Podział skryptu na wiele plików i generowanie kodu HTML
  • Przetwarzanie napisów litera po literze i podstawy przetwarzania tablic
  • Tworzenie i wyszukiwanie plików, krojenie plików tekstowych
  • Wyrażenia regularne i przetwarzanie wsadowe
  • Wybór podstrony serwisu
  • Walidacja zmiennych URL i stosowanie kilku zmiennych URL
  • Szablony Smarty i PHP
  • Wsadowe tworzenie baz danych i ich wizualne projektowanie w programie MySQL Workbench
  • phpMyAdmin, PDO, Propel i inne tajemnicze nazwy
  • Funkcje mysql_xxx
  • Kontroler jednowymiarowy oraz dwuwymiarowy
  • Moduł mod_rewrite
  • Wzbogacanie aplikacji o obsługę przyjaznych URL-i oraz routing przyjaznych adresów URL

Przekonaj się, że PHP można nauczyć się nie tylko szybko, ale i przyjemnie!

Część I: Składnia języka PHP (11)

Rozdział 1. Pierwszy skrypt (13)

  • Jak przebiega wykonanie skryptu PHP? (13)
  • Uruchamianie skryptów PHP w konsoli (15)

Rozdział 2. Podstawy języka PHP (17)

  • Pliki .php czy .html? (17)
  • Znaczniki krótkie i długie (18)
  • Problem z białymi znakami (18)
  • Wielokrotne otwarcie PHP (19)
  • Komentarze w PHP (21)

Rozdział 3. Instrukcje wyjściowe i napisy (23)

  • echo i print (23)
  • Napisy (24)
    • Napisy wielowierszowe (25)
    • Umieszczanie białych znaków w wydrukach (26)
    • Różnica pomiędzy apostrofami i cudzysłowem (29)
    • Cytowanie znaków (30)
    • Znaki o zadanych kodach ASCII (30)
    • Łączenie napisów (31)

Rozdział 4. Stałe, zmienne, wyrażenia i operatory (33)

  • Stałe (33)
  • Zmienne (34)
  • Wyrażenia (36)
  • Operatory (38)

Rozdział 5. Instrukcje sterujące (41)

  • if (42)
  • while (43)
  • do ... while (43)
  • for (44)
  • foreach (45)
  • switch (46)
  • break (47)
  • continue (48)
  • return (48)
  • Składnia alternatywna (48)

Rozdział 6. Funkcje (51)

  • Definicja i wywołanie funkcji (51)
  • Zwracanie wyniku (52)
  • Parametry funkcji (53)
  • Zasięg zmiennych globalnych (54)

Rozdział 7. Programowanie obiektowe (57)

  • Klasy i obiekty (57)
  • Definicja klasy (58)
  • Obiekty - instancje klasy (60)
  • $this - odwołania do własnych składowych (61)
  • Składowe statyczne (62)
  • Stałe wewnątrz klasy (63)
  • Konstruktor i destruktor (64)
  • Dziedziczenie (64)
  • Polimorfizm (66)
  • Wywoływanie metod klas bazowych (67)
  • Klasy i metody abstrakcyjne (68)
  • Klasy i metody finalne (68)

Rozdział 8. Podział skryptu na wiele plików (71)

  • Instrukcje include i require (71)
  • Różnice pomiędzy include i require (72)

Rozdział 9. Formatowanie kodu PHP (73)

  • Otwarcie kodu PHP (73)
  • Wcięcia (73)
  • Średnik (74)
  • Kilka instrukcji w jednym wierszu (74)
  • Komentarze (75)
  • Operatory (75)
    • Operatory dwuargumentowe (75)
    • Operatory jednoargumentowe (77)
    • Operatory specjalne (78)
    • Nawiasy grupujące (79)
  • Instrukcje sterujące (80)
  • Wywołanie funkcji (83)
  • Definicja funkcji (83)
  • Definicja klasy (83)

Część II: HTML, napisy, tablice i pliki tekstowe (85)

Rozdział 10. Generowanie kodu HTML (87)

    • Projekt 10.1. Tabliczka mnożenia (87)
    • Projekt 10.2. Tabela potęg (89)
    • Projekt 10.3. Tablica wartości funkcji trygonometrycznych (90)
    • Projekt 10.4. Zestawienie szablonów (92)
  • Czego powinieneś nauczyć się z tego rozdziału? (93)

Rozdział 11. Przetwarzanie napisów (95)

    • Projekt 11.1. Karuzela (96)
    • Projekt 11.2. Abrakadabra (97)
    • Projekt 11.3. Polskie znaki iso-8859-2 (98)
    • Projekt 11.4. Polskie znaki iso-8859-2 oraz windows-1250 (98)
    • Projekt 11.5. Prezentacja zawartości pliku XML (100)
    • Projekt 11.6. "Deszcz, jesienny deszcz" (101)
    • Projekt 11.7. Przetwarzanie napisów utf-8 znak po znaku (102)
  • Czego powinieneś nauczyć się z tego rozdziału? (102)

Rozdział 12. Podstawy przetwarzania tablic (105)

    • Projekt 12.1. Auta (106)
    • Projekt 12.2. Bezpieczne kolory WWW (106)
    • Projekt 12.3. Osoby (107)
    • Projekt 12.4. Kolory nazwane HTML (109)
    • Projekt 12.5. Owoce (110)
    • Projekt 12.6. Warzywa (111)
    • Projekt 12.7. "Miłosierdzie gminy" (112)
  • Czego powinieneś nauczyć się z tego rozdziału? (113)

Rozdział 13. Krojenie plików tekstowych (115)

    • Projekt 13.1. 140 kolorów CSS (116)
    • Projekt 13.2. Nagrody Nobla (117)
    • Projekt 13.3. Dzieła literatury światowej (118)
    • Projekt 13.4. Flagi (119)
    • Projekt 13.5. Autorytety informatyki (120)
    • Projekt 13.6. Polskie wyprawy badawcze (121)
    • Projekt 13.7. Z historii techniki (122)
    • Projekt 13.8. Odkrycia geograficzne (124)
    • Projekt 13.9. Przemówienia (125)
    • Projekt 13.10. Filmy i aktorzy (126)
    • Projekt 13.11. Język LOGO - ściągawka (127)
  • Czego powinieneś nauczyć się z tego rozdziału? (129)

Rozdział 14. Biblioteki funkcji (131)

  • Funkcje do krojenia plików (131)
  • Funkcja string2HArray() (132)
  • Funkcja string2VArray() (134)
  • Badanie poprawności pliku tekstowego (135)
  • Biblioteka vh-array.inc.php (136)
    • Projekt 14.1. Korona Ziemi (137)
    • Projekt 14.2. Zestawienie publikacji (138)
    • Projekt 14.3. Najdłuższe rzeki świata (139)
    • Projekt 14.4. Sprawdzanie struktury pliku (141)
  • Łamanie tablicy (141)
    • Projekt 14.5. Tabela miniatur (144)
    • Projekt 14.6. Imiona (146)
    • Projekt 14.7. Alfabet (147)
  • Konwersja polskich liter - biblioteka pl.inc.php (148)
    • Projekt 14.8. "Rozdziobią nas kruki, wrony" (150)
  • Czego powinieneś nauczyć się z tego rozdziału? (151)

Rozdział 15. Tworzenie plików (153)

    • Projekt 15.1. Kody polskich liter (154)
    • Projekt 15.2. Kolędy (156)
    • Projekt 15.3. Generator danych osobowych (157)
    • Projekt 15.4. Transponowanie danych (158)
    • Projekt 15.5. Modyfikacja kolejności kolumn, porządku i separatora (159)
    • Projekt 15.6. Cyrylica (161)
    • Projekt 15.7. Pobieranie powieści "Krzyżacy" (163)
  • Czego powinieneś nauczyć się z tego rozdziału? (164)

Rozdział 16. Wyrażenia regularne (165)

  • PCRE i POSIX (166)
  • Dopasowywanie wzorca (166)
  • Składnia wyrażeń regularnych PCRE (168)
    • Znaki (168)
    • Wyłączanie interpretacji znaków specjalnych (170)
    • Metaznaki i cytowanie metaznaków (170)
    • Kropka - dowolny znak (172)
    • Dopasowany napis (173)
    • Zbiór znaków (173)
    • Dopełnienie zbioru znaków (174)
    • Klasy znaków (175)
    • POSIX-owe klasy znaków (176)
    • Kotwice (177)
    • Alternatywa (178)
    • Grupowanie (179)
    • Kwantyfikatory (180)
    • Nawroty (183)
    • Wyrażenia zachłanne i leniwe (183)
    • Przechwytywanie (184)
    • Odwołania wsteczne (186)
    • Przechwytywanie nazwane (187)
    • Modyfikatory (188)
    • Łączenie modyfikatorów (189)
    • Komentarze (189)
    • Zmiana trybu dopasowania (189)
    • Przewidywanie (190)
    • Dopasowywanie warunkowe (191)
    • Grupowanie atomowe (192)
    • Projekt 16.1. Encje HTML (192)
    • Projekt 16.2. Podział nazwisk na męskie i żeńskie (194)
    • Projekt 16.3. Podział powieści na akapity (196)
    • Projekt 16.4. Jack London: "Martin Eden" - format HTML (197)
    • Projekt 16.5. Jack London: "Martin Eden" - format LaTeX (198)
  • Czego powinieneś nauczyć się z tego rozdziału? (199)

Rozdział 17. Wyszukiwanie plików (201)

    • Projekt 17.1. Lista plików (202)
    • Projekt 17.2. Tworzenie indeksu wierszy (203)
    • Projekt 17.3. Wiersze Tadeusza Różewicza (204)
    • Projekt 17.4. Tabela miniaturowych hiperłączy (205)
    • Projekt 17.5. Rekurencyjna konwersja kodowania w podfolderach (206)
  • Czego powinieneś nauczyć się z tego rozdziału? (208)

Rozdział 18. Przetwarzanie wsadowe (211)

    • Projekt 18.1. Adam Mickiewicz: "Pan Tadeusz" (211)
    • Projekt 18.2. Adam Mickiewicz: "Pani Twardowska" (213)
    • Projekt 18.3. Jane Austen: "Emma" (215)
    • Projekt 18.4. Fraszki (216)
    • Projekt 18.5. Spis treści h3/h4 (217)
    • Projekt 18.6. Zmiana nazw plików: numeracja (221)
    • Projekt 18.7. Zmiana nazw plików na podstawie treści (222)
  • Czego powinieneś nauczyć się z tego rozdziału? (223)

Część III: Zmienne URL (225)

Rozdział 19. Wybór podstrony serwisu (227)

    • Projekt 19.1. Opowiadania Edgara Allana Poe (229)
    • Projekt 19.2. Tabela ekstraklasy 2006 - 2007 (232)
    • Projekt 19.3. Kalkulator (234)
    • Projekt 19.4. Fraszki (237)
  • Czego powinieneś nauczyć się z tego rozdziału? (239)

Rozdział 20. Walidacja zmiennych URL (241)

    • Projekt 20.1. Piosenki Kapeli Radości Małych (244)
    • Projekt 20.2. Treny (246)
    • Projekt 20.3. Znaki drogowe (247)
    • Projekt 20.4. Ćwiczenia z instalacji i konfiguracji sieci komputerowych (250)
    • Projekt 20.5. Stronicowanie tabeli imion (252)
    • Projekt 20.6. Państwa rozpoczynające się na wybraną literę (254)
    • Projekt 20.7. Test czcionek (257)
  • Czego powinieneś nauczyć się z tego rozdziału? (259)

Rozdział 21. Stosowanie kilku zmiennych URL (261)

    • Projekt 21.1. Poezja (261)
    • Projekt 21.2. Jack London: "The Call of the Wild" (264)
    • Projekt 21.3. Drop folder miniatur (268)
    • Projekt 21.4. Ligi europejskie (269)
  • Czego powinieneś nauczyć się z tego rozdziału? (274)

Część IV: Szablony (277)

Rozdział 22. Szablony Smarty (279)

  • Instalacja biblioteki Smarty (279)
  • Smarty - składnia szablonu (280)
    • Projekt 22.1. Smarty - pierwszy skrypt (281)
  • Jak przebiega wykonanie skryptu PHP korzystającego ze Smarty? (283)
    • Projekt 22.2. Wymiana zmiennych w szablonie (284)
  • Modyfikatory zmiennych (285)
    • Projekt 22.3. Lorem ipsum - test kilku modyfikatorów (286)
    • Projekt 22.4. Piosenka pt. "Jadą, jadą misie" (288)
  • Funkcje Smarty (289)
    • Projekt 22.5. Smarty - owoce (289)
    • Projekt 22.6. Angielskie czasowniki nieregularne (291)
    • Projekt 22.7. Tatry (293)
    • Projekt 22.8. Kody polskich znaków (295)
    • Projekt 22.9. Mecze ekstraklasy w sezonie 2003 - 2004 (296)
    • Projekt 22.10. Henryk Sienkiewicz: "Sachem" (299)
    • Projekt 22.11. Maria Konopnicka: "Nasza szkapa" (300)
  • Czego powinieneś nauczyć się z tego rozdziału? (301)

Rozdział 23. Pliki tekstowe, zmienne URL i szablony Smarty (303)

    • Projekt 23.1. Powieści Agathy Christie (303)
    • Projekt 23.2. Ogonki DE, FR, PL, RU (307)
    • Projekt 23.3. Fraszki (309)
    • Projekt 23.4. Liczba mnoga rzeczowników angielskich (312)
    • Projekt 23.5. Sortowanie danych względem kilku kolumn (314)
    • Projekt 23.6. Fotogaleria (318)
    • Projekt 23.7. Witryna GIMP w zastosowaniach (324)
  • Czego powinieneś nauczyć się z tego rozdziału? (330)

Rozdział 24. Szablony PHP (331)

  • Zadania szablonów (331)
    • Projekt 24.1. Przekazanie zmiennych do szablonu (332)
    • Projekt 24.2. Modyfikatory zmiennych (333)
    • Projekt 24.3. Iteracyjne przetwarzanie tablic (334)
    • Projekt 24.4. Instrukcja if (335)
    • Projekt 24.5. Maria Konopnicka: "Nasza szkapa" (336)
  • Czego powinieneś nauczyć się z tego rozdziału? (338)

Rozdział 25. Szablony Smarty i szablony PHP - porównanie (339)

    • Projekt 25.1. Układy cyfrowe - szablony Smarty (339)
    • Projekt 25.2. Układy cyfrowe - szablony PHP (342)
    • Projekt 25.3. Zbiór zadań z C++ - szablony Smarty (344)
    • Projekt 25.4. Zbiór zadań z C++ - szablony PHP (346)
  • Czego powinieneś nauczyć się z tego rozdziału? (348)

Część V: Bazy danych (351)

Rozdział 26. Wsadowe tworzenie baz danych (353)

  • Model komunikacji klient-serwer (353)
  • Baza danych, tabela, rekord, kolumna (355)
  • Konsola mysql (357)
  • Skrypty wsadowe .sql oraz .bat (360)
    • Projekt 26.1. Baza danych wyrazy (360)
  • Wsadowe wstawianie rekordów (363)
    • Projekt 26.2. Wypełnianie bazy samochody (363)
    • Projekt 26.3. Wypełnianie bazy danych z wykorzystaniem Smarty (366)
  • Czego powinieneś nauczyć się z tego rozdziału? (367)

Rozdział 27. phpMyAdmin - narzędzie do edycji i analizy zawartości baz danych (369)

    • Projekt 27.1. Województwa (371)
  • Polskie znaki w bazie danych (375)
    • Projekt 27.2. Imiona (376)
  • Czego powinieneś nauczyć się z tego rozdziału? (379)

Rozdział 28. Wizualne projektowanie baz danych w programie MySQL Workbench (381)

    • Projekt 28.1. Wizualny projekt bazy danych wyrazy (381)
    • Projekt 28.2. Państwa-miasta: identyfikująca relacja 1:n (387)
    • Projekt 28.3. Książka-kategoria: nieidentyfikująca relacja 1:n (391)
    • Projekt 28.4. Filmy-aktorzy: relacja n:m (395)
  • Czego powinieneś nauczyć się z tego rozdziału? (397)

Część VI: Interfejsy API dostępu do bazy danych (399)

Rozdział 29. Funkcje mysql_xxx (401)

    • Projekt 29.1. Imiona (403)
    • Projekt 29.2. Filmy (406)
  • Czego powinieneś nauczyć się z tego rozdziału? (412)

Rozdział 30. PDO (415)

    • Projekt 30.1. Imiona (416)
    • Projekt 30.2. Filmy (418)
  • Czego powinieneś nauczyć się z tego rozdziału? (420)

Rozdział 31. Propel (421)

    • Projekt 31.1. Imiona (421)
    • Projekt 31.2. Filmy (428)
  • Czego powinieneś nauczyć się z tego rozdziału? (439)

Część VII: MVC (441)

Rozdział 32. Jednowymiarowy kontroler MVC (443)

    • Projekt 32.1. Piosenki (443)
    • Projekt 32.2. Poezja (449)
    • Projekt 32.3. Filmy (454)
  • Czego powinieneś nauczyć się z tego rozdziału? (458)

Rozdział 33. db-frame-tool. Skrypty ułatwiające uruchamianie generatora Propel (461)

    • Projekt 33.1. db-frame-tool (462)
    • Projekt 33.2. Aplikacja kluby piłkarskie (468)
  • Czego powinieneś nauczyć się z tego rozdziału? (470)

Rozdział 34. Obiektowa implementacja kontrolera jednowymiarowego (471)

    • Projekt 34.1. Katalog płyt winylowych - implementacja bez wykorzystania programowania obiektowego (471)
    • Projekt 34.2. Katalog płyt winylowych - implementacja obiektowa (474)
    • Projekt 34.3. Kluby piłkarskie - kontroler obiektowy (478)
  • Czego powinieneś nauczyć się z tego rozdziału? (480)

Rozdział 35. Moduł/akcja, czyli kontroler dwuwymiarowy (481)

    • Projekt 35.1. Powieści A. Christie (481)
    • Projekt 35.2. Katalog płyt winylowych (488)
    • Projekt 35.3. Układy cyfrowe (490)
    • Projekt 35.4. Kontynenty, państwa i flagi (494)
  • Czego powinieneś nauczyć się z tego rozdziału? (496)

Część VIII: Przyjazne adresy URL (499)

Rozdział 36. Moduł mod_rewrite (501)

    • Projekt 36.1. Translacja adresu adres.html na index.php (502)
    • Projekt 36.2. Wykluczanie adresu index.php (504)
    • Projekt 36.3. Ustalanie zmiennych URL na podstawie fragmentu adresu (505)
    • Projekt 36.4. Eliminacja adresów o rozszerzeniu .php w projekcie 36.3 (507)
    • Projekt 36.5. Kolędy (508)
    • Projekt 36.6. Kolędy - wykluczanie adresów .php (510)
    • Projekt 36.7. Kolędy - generowanie pliku .htaccess (511)
  • Czego powinieneś nauczyć się z tego rozdziału? (514)

Rozdział 37. Wzbogacane aplikacji o obsługę przyjaznych adresów URL (515)

    • Projekt 37.1. HTML, XHTML i CSS. Praktyczne projekty (515)
    • Projekt 37.2. HTML, XHTML i CSS. Praktyczne projekty - rozwiązanie wzbogacone o obsługę przyjaznych adresów URL (518)
  • Czego powinieneś nauczyć się z tego rozdziału? (520)

Rozdział 38. Routing przyjaznych adresów URL (521)

    • Projekt 38.1. Ptaki (522)
    • Projekt 38.2. Mundial (526)
  • Czego powinieneś nauczyć się z tego rozdziału? (534)

Skorowidz (537)

  • Title: PHP. Praktyczne projekty
  • Author: Włodzimierz Gajda
  • ISBN: 978-83-283-0059-0, 9788328300590
  • Date of issue: 2014-08-14
  • Format: Ebook
  • Item ID: phpprp
  • Publisher: Helion