Szczegóły ebooka

PHP i Oracle. Tworzenie aplikacji webowych: od przetwarzania danych po Ajaksa

PHP i Oracle. Tworzenie aplikacji webowych: od przetwarzania danych po Ajaksa

Yuli Vasiliev

Ebook

Poznaj niezwykłe możliwości duetu Oracle-PHP i twórz niezawodne aplikacje!

  • Jak połączyć PHP i Oracle w celu uzyskania optymalnej wydajności i niezawodności?
  • Jak wykorzystywać funkcje XML w PHP i Oracle?
  • Jak poprawić wydajność dzięki zastosowaniu buforowania?

Baza Danych Oracle nie ma sobie równych pod względem wydajności, niezawodności oraz skalowalności. Natomiast skryptowy język PHP dzięki niezwykłej prostocie stosowania stanowi jedno z najpopularniejszych narzędzi budowania aplikacji sieciowych -- nawet dla niezbyt doświadczonych programistów. Budowanie i wdrażanie aplikacji PHP opartych na Oracle pozwala więc na optymalne połączenie potężnych możliwości i solidności z łatwością użycia i krótkim czasem programowania.

Książka "PHP i Oracle. Tworzenie aplikacji webowych: od przetwarzania danych po Ajaksa" zawiera zilustrowany praktycznymi przykładami opis technologii oraz wszystkich narzędzi potrzebnych, aby optymalnie wykorzystać możliwości duetu Oracle-PHP. Dzięki temu podręcznikowi poznasz nowe funkcje PHP i bazy danych Oracle; dowiesz się także, na czym polega programowanie procedur składowanych i obsługa transakcji. Nauczysz się tworzyć niezawodne aplikacje i zapewniać im wyższą wydajność dzięki mechanizmom buforowania, a także używać technologii Ajax z technologiami Oracle Database i funkcjami PHP w celu usprawnienia reakcji aplikacji na działania użytkownika.

  • Połączenie PHP i Oracle
  • Przetwarzanie danych
  • Tworzenie i wywoływanie wyzwalaczy
  • Używanie podprogramów składowanych
  • Podejście zorientowane obiektowo
  • Obsługa wyjątków
  • Bezpieczeństwo
  • Buforowanie
  • Aplikacje oparte na XML
  • Usługi sieciowe
  • Aplikacje oparte na Ajaksie

Połącz wydajność, skalowalność i niezawodność z łatwością użycia i krótkim czasem programowania!

O autorze (11)

O recenzencie (13)

Wprowadzenie (15)

  • Jakie tematy zostały poruszone w książce? (16)
  • Dla kogo przeznaczona jest ta książka? (17)
  • Konwencje zastosowane w książce (17)
  • Użycie przykładowych kodów (18)

Rozdział 1. Rozpoczęcie pracy z PHP i Oracle (19)

  • Dlaczego PHP i Oracle? (20)
    • Prostota i elastyczność (20)
    • Wydajność (21)
    • Niezawodność (21)
  • Co zamiast PHP i Oracle? (22)
    • PHP i MySQL (22)
    • JSF i Oracle (23)
  • Co będzie potrzebne, aby rozpocząć pracę? (23)
    • Wymagane komponenty oprogramowania (23)
    • Rozważania dotyczące produktu Oracle Database (25)
      • Zrozumienie Oracle Database (25)
      • Wybór między wydaniami oprogramowania Oracle Database (25)
      • Pobieranie oprogramowania Oracle Database (26)
    • Rozważania dotyczące PHP (27)
      • Serwer WWW Apache (28)
      • Dlaczego PHP 5? (28)
      • Pobieranie PHP 5 (29)
    • Zmuszenie PHP i Oracle do współpracy (30)
      • Oracle Instant Client (30)
      • Zend Core for Oracle (31)
    • Używanie Oracle SQL*Plus (31)
      • Dlaczego warto używać SQL*Plus w programowaniu PHP/Oracle? (31)
      • Nawiązywanie połączenia z bazą danych za pomocą SQL*Plus (32)
      • Wykonywanie skryptów z poziomu SQL*Plus (34)
    • Połączenie wszystkiego razem (35)
  • Utworzenie pierwszej aplikacji PHP/Oracle (37)
    • Nawiązywanie połączenia z bazą danych (40)
      • Używanie metody Local Naming (40)
      • Używanie metody Easy Connect (41)
    • Wykonywanie poleceń SQL względem bazy danych (42)
    • Pobieranie i wyświetlanie wyników (42)
  • Podsumowanie (43)

Rozdział 2. Połączenie PHP i Oracle (45)

  • Przedstawienie rozszerzenia PHP OCI8 (45)
    • Dlaczego warto używać rozszerzenia OCI8? (46)
    • Przetwarzanie poleceń za pomocą rozszerzenia OCI8 (46)
  • Nawiązywanie połączenia z Oracle za pomocą rozszerzenia OCI8 (51)
    • Definiowanie ciągu tekstowego połączenia (51)
    • Funkcje rozszerzenia OCI8, które służą do nawiązywania połączenia z Oracle (52)
  • Analizowanie i wykonywanie poleceń SQL za pomocą rozszerzenia OCI8 (53)
    • Przygotowywanie poleceń SQL do wykonania (54)
    • Używanie zmiennych wiązanych (54)
    • Wykonywanie poleceń SQL (56)
    • Obsługa błędów (56)
      • Używanie funkcji oci_error() (57)
      • Używanie funkcji trigger_error() (57)
      • Używanie wyjątków (58)
  • Pobieranie wyników za pomocą funkcji rozszerzenia OCI8 (59)
    • Funkcje rozszerzenia OCI8, które służą do pobierania wyników (59)
    • Pobieranie kolejnego rekordu (60)
    • Pobranie wszystkich rekordów (61)
  • Alternatywy dla rozszerzenia PHP OCI8 (63)
    • Używanie PEAR DB (63)
    • Używanie ADOdb (65)
    • Używanie PDO (66)
    • Tworzenie własnej biblioteki na bazie rozszerzenia OCI8 (67)
  • Podsumowanie (68)

Rozdział 3. Przetwarzanie danych (71)

  • Implementacja logiki biznesowej aplikacji PHP/Oracle (72)
    • Kiedy przenosić dane do miejsca działania procesu przetwarzania? (72)
    • Zalety przeniesienia procesu przetwarzania danych do samych danych (73)
    • Sposoby implementacji logiki biznesowej wewnątrz bazy danych (74)
    • Współpraca między komponentami implementującymi logikę biznesową (75)
  • Używanie skomplikowanych poleceń SQL (76)
    • Używanie funkcji Oracle SQL w zapytaniach (76)
      • Funkcje Oracle SQL kontra przetwarzanie danych w PHP (77)
      • Funkcje agregujące (79)
      • Klauzula GROUP BY (80)
    • Używanie złączeń (80)
    • Wykorzystanie zalet widoków (83)
      • Kluczowe korzyści płynące z używania widoków (83)
      • Ukrywanie złożoności danych za pomocą widoków (84)
      • Używanie klauzuli WHERE (85)
  • Używanie podprogramów składowanych (87)
    • Czym są podprogramy składowane? (87)
    • Zalety podprogramów składowanych (89)
    • Przykład użycia podprogramu składowanego (90)
    • Tworzenie podprogramów składowanych (94)
    • Wywoływanie podprogramów składowanych z poziomu PHP (95)
  • Używanie wyzwalaczy (97)
    • Tworzenie wyzwalaczy (98)
    • Wywoływanie wyzwalaczy (99)
    • Wywoływanie procedur składowanych z poziomu wyzwalacza (99)
  • Podsumowanie (100)

Rozdział 4. Transakcje (103)

  • Ogólny opis transakcji (104)
    • Czym jest transakcja? (104)
    • Czym są reguły ACID? (105)
    • W jaki sposób transakcje działają w Oracle? (106)
    • Używanie transakcji w aplikacjach PHP/Oracle (107)
    • Strukturyzacja aplikacji PHP/Oracle w celu nadzorowania transakcji (110)
  • Tworzenie kodu transakcyjnego (113)
    • Nadzorowanie transakcji z poziomu PHP (113)
    • Przenoszenie kodu transakcyjnego do bazy danych (119)
      • Używanie wyzwalaczy (119)
      • Wycofanie na poziomie polecenia (120)
  • Rozważania dotyczące izolacji transakcji (123)
    • Którą funkcję rozszerzenia OCI8 służącą do nawiązywania połączenia należy wybrać? (123)
    • Kwestie związane z współbieżnym uaktualnianiem (127)
      • Kwestie związane z nakładaniem blokad (127)
      • Utracone uaktualnienia (129)
    • Transakcje autonomiczne (132)
  • Podsumowanie (135)

Rozdział 5. Podejście zorientowane obiektowo (137)

  • Implementacja klas PHP, które pozwalają na współpracę z Oracle (138)
    • Bloki budulcowe aplikacji (138)
      • Tworzenie zupełnie od początku własnej klasy PHP (139)
      • Testowanie nowo utworzonej klasy (141)
      • Wykorzystanie zalet funkcji programowania zorientowanego obiektowo w PHP 5 (142)
    • Funkcjonalność i implementacja (144)
    • Ponowne używanie kodu (146)
    • Obsługa wyjątków (146)
      • Modyfikacja istniejącej klasy w celu użycia wyjątków (147)
      • Rozróżnienie między odmiennymi rodzajami błędów (149)
      • Czy wyjątki koniecznie oznaczają błędy? (152)
  • Rozszerzanie istniejących klas (152)
    • Używanie klas standardowych (152)
      • Pakiet PEAR::Auth w działaniu (153)
      • Zabezpieczanie stron za pomocą PEAR::Auth (155)
    • Dostosowanie klas standardowych do własnych potrzeb (157)
      • Dostosowanie do własnych potrzeb PEAR::Auth (157)
      • Budowanie mniejszego kodu klienta (160)
  • Oddziaływania między obiektami (161)
    • Kompozycja (161)
    • Agregacja (164)
  • Komunikacja bazująca na zdarzeniach (168)
  • Używanie właściwości obiektowych Oracle (170)
    • Używanie typów obiektowych w Oracle (170)
    • Implementacja logiki biznesowej za pomocą metod obiektów Oracle (171)
    • Używanie obiektów Oracle w celu uproszczenia tworzenia aplikacji (174)
  • Podsumowanie (175)

Rozdział 6. Bezpieczeństwo (177)

  • Zabezpieczanie aplikacji PHP/Oracle (178)
    • Uwierzytelnianie użytkowników (178)
    • Oddzielenie zarządzania bezpieczeństwem od danych (179)
      • Używanie dwóch schematów bazy danych w celu zwiększenia bezpieczeństwa (180)
      • Używanie trzech schematów bazy danych w celu zwiększenia bezpieczeństwa (182)
      • Używanie pakietów PL/SQL i funkcji tabelarycznych w celu zapewnienia bezpiecznego dostępu do danych bazy danych (183)
      • Używanie atrybutu %ROWTYPE (187)
      • Budowanie własnego magazynu dla klasy PEAR::Auth (189)
      • Testowanie systemu uwierzytelniania (190)
    • Przeprowadzanie uwierzytelniania na podstawie tożsamości użytkownika (192)
      • Używanie sesji do przechowywania informacji o uwierzytelnionym użytkownika (192)
      • Przechowywanie informacji o użytkowniku w zmiennych pakietowych (193)
      • Ochrona zasobów na podstawie informacji dotyczących uwierzytelnionego użytkownika (195)
  • Używanie skrótów (199)
    • Tworzenie skrótów haseł (200)
    • Modyfikacja systemu uwierzytelniania w celu przeprowadzenia operacji tworzenia skrótu (202)
  • Implementacja dokładnej kontroli dostępu za pomocą widoków bazy danych (204)
    • Implementacja bezpieczeństwa na poziomie kolumny za pomocą widoków (205)
    • Maskowanie wartości kolumn zwracanych aplikacji (208)
      • Używanie funkcji DECODE() (208)
    • Implementacja bezpieczeństwa na poziomie rekordu za pomocą widoków (211)
  • Bezpieczeństwo na poziomie rekordu przy użyciu funkcji VPD (214)
  • Podsumowanie (217)

Rozdział 7. Buforowanie (219)

  • Buforowanie danych za pomocą Oracle i PHP (220)
    • Buforowanie zapytań w serwerze bazy danych (220)
      • Przetwarzanie poleceń SQL (220)
      • Stosowanie zmiennych wiązanych w celu zwiększenia prawdopodobieństwa użycia bufora puli współdzielonej (222)
    • Używanie kontekstu Oracle podczas buforowania (224)
      • Tworzenie kontekstu globalnego aplikacji (226)
      • Manipulowanie danymi znajdującymi się w kontekście globalnym (228)
      • Zerowanie wartości w kontekście globalnym (232)
    • Mechanizmy buforowania dostępne w PHP (236)
      • Wybór strategii buforowania (236)
      • Wywoływanie funkcji buforowania za pomocą pakietu PEAR::Cache_Lite (237)
      • Uaktualnianie buforowanych danych (240)
  • Implementacja buforowania bazującego na powiadamianiu (242)
    • Używanie funkcji bazy danych powiadamiania o zmianach (244)
      • Kontrola komunikatów powiadamiania (244)
      • Budowanie procedury PL/SQL, która wysyła powiadomienia serwerowi WWW (245)
      • Przeprowadzenie kroków konfiguracyjnych wymaganych przez mechanizm powiadamiania (246)
      • Budowa uchwytu powiadamiania (247)
      • Utworzenie zapytania rejestrującego dla uchwytu powiadamiania (249)
      • Szybki test (250)
    • Implementacja buforowania bazującego na powiadomieniach za pomocą PEAR::Cache_Lite (251)
  • Podsumowanie (253)

Rozdział 8. Aplikacje bazujące na XML-u (255)

  • Przetwarzanie danych XML w aplikacjach PHP/Oracle (256)
    • Przetwarzanie danych XML za pomocą PHP (256)
      • Tworzenie danych XML za pomocą rozszerzenia PHP DOM (257)
      • Wykonywanie zapytań do dokumentu DOM za pomocą XPath (259)
      • Transformacja i przetwarzanie danych XML za pomocą XSLT (260)
    • Wykonywanie przetwarzania danych XML wewnątrz bazy danych (265)
      • Używanie funkcji generowania SQL/XML w Oracle (265)
      • Przeniesienie całego procesu przetwarzania danych XML do bazy danych (268)
      • Przechowywanie danych XML w bazie danych (269)
      • Przeprowadzanie transformacji XSLT wewnątrz bazy danych (271)
  • Budowanie aplikacji PHP na podstawie Oracle XML DB (272)
    • Używanie bazy danych Oracle do przechowywania, modyfikowania i pobierania danych XML (273)
      • Dostępne opcje przechowywania danych XML w bazie danych Oracle (273)
      • Używanie XMLType do obsługi danych XML w bazie danych (275)
      • Używanie schematów XML (277)
      • Pobieranie danych XML (281)
    • Uzyskanie dostępu do danych relacyjnych za pomocą widoków XMLType (285)
      • Używanie widoków XMLType (285)
      • Tworzenie widoków XMLType bazujących na schemacie XML (286)
      • Przeprowadzanie operacji DML w widoku XMLType bazującym na schemacie XML (289)
    • Używanie repozytorium Oracle XML DB (293)
      • Manipulowanie zasobami repozytorium za pomocą kodu PL/SQL (294)
      • Uzyskanie dostępu do zasobów repozytorium za pomocą SQL (294)
      • Wykorzystanie zalet standardowych protokołów internetowych (295)
    • Obsługa transakcji (297)
  • Pobieranie danych za pomocą Oracle XQuery (298)
    • Używanie silnika XQuery do budowania danych XML na podstawie danych relacyjnych (299)
    • Rozłożenie danych XML na postać danych relacyjnych (301)
  • Podsumowanie (302)

Rozdział 9. Usługi sieciowe (303)

  • Udostępnienie aplikacji PHP/Oracle jako usługi sieciowej za pomocą rozszerzenia PHP SOAP (304)
    • Komunikacja za pomocą SOAP (304)
    • Co jest wymagane do zbudowania usługi sieciowej SOAP? (305)
    • Budowanie usługi sieciowej SOAP na podstawie aplikacji PHP/Oracle (307)
    • Budowanie logiki biznesowej usługi sieciowej wewnątrz bazy danych (308)
      • Tworzenie schematu XML przeznaczonego do weryfikacji nadchodzących dokumentów (308)
      • Generowanie unikalnych identyfikatorów dla przekazywanych dokumentów (311)
      • Tworzenie podprogramów PL/SQL implementujących logikę biznesową usługi sieciowej (313)
    • Budowanie uchwytu klasy PHP (317)
    • Używanie WSDL (319)
    • Tworzenie serwera SOAP za pomocą rozszerzenia PHP SOAP (322)
    • Budowanie klienta SOAP w celu przetestowania serwera SOAP (323)
  • Bezpieczeństwo (326)
    • Implementacja logiki autoryzacji wewnątrz bazy danych (327)
    • Tworzenie uchwytu klasy PHP (329)
    • Tworzenie dokumentu WSDL (330)
    • Tworzenie skryptu klienta (332)
  • Podsumowanie (333)

Rozdział 10. Aplikacje oparte na Ajaksie (335)

  • Budowanie aplikacji PHP/Oracle opartych na Ajaksie (336)
    • Ajax - zasada działania (336)
    • Projekt aplikacji monitorującej opartej na Ajaksie/PHP/Oracle (337)
    • Rozwiązanie oparte na Ajaksie (339)
      • Tworzenie struktur danych (339)
      • Tworzenie skryptu PHP przetwarzającego żądania Ajaksa (340)
      • Używanie obiektu JavaScript - XMLHttpRequest (341)
      • Złożenie aplikacji w całość (345)
      • Użycie pamięci podręcznej w celu zwiększenia szybkości pracy aplikacji (347)
  • Implementacja rozwiązań Master/Detail z użyciem metodologii Ajax (348)
    • Projektowanie rozwiązania Master/Detail wykorzystującego Ajaksa (348)
    • Opis działania przykładowej aplikacji (349)
      • Tworzenie struktur danych (351)
      • Generowanie kodu HTML za pomocą Oracle XQuery (353)
      • Wysyłanie żądań POST za pomocą Ajaksa (354)
      • Tworzenie stylów CSS (356)
      • Złożenie aplikacji w całość (357)
  • Podsumowanie (358)

Dodatek A: Instalacja oprogramowania PHP i Oracle (359)

  • Instalacja oprogramowania Oracle Database (360)
    • Instalacja wydań Oracle Database Enterprise/Standard (360)
    • Instalacja wydania Oracle Database Express Edition (363)
      • Instalacja wydania Oracle Database XE w systemie Windows (363)
      • Instalacja wydania Oracle Database XE w systemie Linux (365)
    • Instalacja serwera WWW Apache (365)
  • Instalacja PHP (367)
    • Instalacja PHP w systemie Windows (367)
    • Instalacja PHP w systemie z rodziny Unix (368)
    • Testowanie PHP (369)
  • Zbudowanie mostu między Oracle i PHP (369)
    • Biblioteki Oracle Instant Client (369)
    • Włączenie rozszerzenia OCI8 w istniejącej instalacji PHP (371)
    • Instalacja narzędzia SQL*Plus Instant Client (372)
  • Instalacja Zend Core for Oracle (373)
    • Instalacja Zend Core for Oracle w systemie Windows (373)
    • Instalacja Zend Core for Oracle w systemie Linux (374)

Skorowidz (375)

  • Tytuł: PHP i Oracle. Tworzenie aplikacji webowych: od przetwarzania danych po Ajaksa
  • Autor: Yuli Vasiliev
  • Tytuł oryginału: PHP Oracle Web Development: Data processing, Security, Caching, XML, Web Services, and Ajax
  • Tłumaczenie: Robert Górczyński, Artur Przybyła
  • ISBN: 978-83-246-6940-0, 9788324669400
  • Data wydania: 2013-02-04
  • Format: Ebook
  • Identyfikator pozycji: phorta
  • Wydawca: Helion