wstep.pdf

(228 KB) Pobierz
Oto przyk³ady stylów nag³ówków:
Wstęp
PHP i Flash są dla siebie stworzone.
Oczywiście, Flash potrafi wprawić nas w zachwyt własnymi siłami, ale tworzenie zmieniających się, w pełni
interaktywnych witryn Flasha wymaga uzupełnienia go siłami zakulisowymi. Mówiąc najprościej, PHP jest
bezpłatnym i łatwym sposobem osiągnięcia tego celu. Dzięki długiej liście funkcji, potrafi on w znaczący
sposób zwiększyć dynamikę witryny Flasha, a niniejsza książka jest wstępem do oceanu możliwości, jakie daje
wykorzystanie skryptów serwerowych.
Podstawy PHP dla Flasha stanowi część tego oceanu i poprowadzi Was w wybranym tempie.
Jak skonstruowana jest ta książka
Książka niniejsza skierowana jest do projektantów, a w szczególności tych, którzy w swej pracy korzystają z
Flasha, choć moim celem była zapoznanie Was z PHP w przyjazny, skoncentrowany na projektach, sposób. Z
tego też powodu zakładam, mając na względzie omawiane tu przykłady, że każdy Czytelnik dysponuje
podstawową wiedzą na temat Flasha, a poprzez zastosowanie PHP, zamierza rozbudować tworzone witryny.
Bez względu jednak na to, czy Czytelnik jest mistrzem Flasha czy nowicjuszem, znajdzie tu pełne wyjaśnienia
odnoszące się do tego programu, pojawiające się w całej książce.
Wierzę w prostotę, a zatem, w każdym rozdziale omawiać będziemy:
Podstawy określonego aspektu tworzenia skryptów PHP.
Potężny, wielokrotnego użycia i w pełni adaptowalny przykład aplikacji zintegrowanej z Flashem.
Nacisk położony będzie nie na wtłaczanie ogromnych ilości teorii, po którym Czytelnik zostanie pozostawiony
sam sobie, ale raczej na pokazanie, w jaki sposób PHP ułatwia życie projektantom Flasha.
Pokażę Wam, od początku do końca, czym jest PHP i, co ważniejsze, jak korzystać z niego w celu tworzenia
coraz to bardziej złożonych i ekscytujących aplikacji sieciowych. W każdym rozdziale będziemy pracować na
przykładzie prostego kodu, ukierunkowując się na te elementy, które mogą być potrzebne naszym witrynom., od
filmów rejestracji i logowania, po pełne forum Flasha — będzie to zestaw 12 wspaniałych aplikacji.
Style zastosowane w tej książce
Aby uczynić treść książki bardziej przejrzystą, zastosujemy tu pewne konwencje typograficzne:
Wprowadzając nowy, istotny termin lub odwołując się do określonego Rozdziału, wyróżnimy tekst
poprzez pogrubienie.
Różne style będą zastosowane do zapisu tego, co widać na ekranie, fragmentów kodu , ważnych
fragmentów kodu , a także hiperłączy i ścieżek dostępu .
Jeśli w tekście pojawi się fragment, którego nie powinniśmy pominąć, zostanie on wyróżniony w ten właśnie
sposób! Kiedy więc ujrzymy taką ramkę, wytężmy uwagę!
I wreszcie, omawiając przykłady, będziemy się trzymać sprawdzonych zasad:
1. Napotykając numerowaną listę czynności, włączamy komputer, przygotowując się do działania.
2. Wykonując kolejne czynności, sprawdzamy zawartość rysunków i diagramów, gdzie znajdziemy
dodatkowe wskazówki.
3. Po zakończeniu, przystępujemy do testu!
Czego będziemy potrzebowali w trakcie lektury niniejszej książki
Jedna z rzeczy, które dotychczas powiedzieliśmy na temat PHP, która prawdopodobnie jest szczególnie
zastanawiająca to fakt, że PHP jest językiem o otwartym źródle (czyli bezpłatnym). Także najpopularniejszy
serwer obsługujący PHP, Apache, jest również bezpłatny. Podobnie, technologia obsługi baz danych MySQL,
którą PHP w pełni obsługuje, jak się domyślacie, jest także technologią o otwartym źródle!
Teraz należałoby pobrać i zainstalować PHP. W Dodatku A załączyłem obszerny zestaw instrukcji
instalacyjnych dla różnych platform. Każdy powinien z nich skorzystać, jeśli dotychczas nie instalował PHP w
1
sowim komputerze.
Mówiąc ogólnie, z książki tej można korzystać na różne sposoby, czy to programując, uruchamiając i testując
skrypty na komputerze lokalnym (jeśli ktoś nie bardzo wie, czym są skrypty serwerowe lub jest w tym temacie
zupełnym nowicjuszem, niech poczeka chwilę, gdyż zaraz zajmiemy się tym tematem)... czy też ładując skrypty
i pliki FLA na serwer zdalny – na przykład, na swój host sieciowy.
W pierwszej opcji potrzebny nam będzie lokalny serwer sieci Web. W systemie Windows może to być PWS
(Personal Web Server) lub IIS (Internet Information Service – opcja sieciowa), które powinny być dostępne na
dysku instalacyjnym Windows CD lub na witrynie Windows. Platformy Windows, Unix i Mac pozwalają
również uruchamiać Apache, popularny serwer o otwartym źródle. Pełne instrukcje instalacji Apache
znajdziemy w Dodatku A.
Jeśli korzystamy ze zdalnego hosta, testy możemy wykonywać lokalnie, ale do tego musimy dysponować
hostem, który obsługuje PHP i MySQL (ich liczba wciąż wzrasta). Dodatek C — Zasoby zawiera listę kilku
oferentów.
Należy także zainstalować mechanizm obsługi baz danych MySQL, a instrukcje instalacyjne znajdziemy w
Dodatku A .
Jest jeszcze jedna rzecz, której będziemy potrzebowali. Kod PHP, podobnie jak HTML, może być tworzony w
dowolnym edytorze tekstu, takim jak Notatnik czy SimpleText lub jakimkolwiek, spośród wielu, programów do
edycji PHP. Programy takie wyposażone są w funkcje wyróżniania składni i kodowania kolorami, co znacznie
ułatwia tworzenie skryptów, a kilka przykładów takich programów wymienia Dodatek C . Pliki PHP
zapisywane są z rozszerzeniem .php .
Wszystkie powyższe technologie dostarczane są wraz z pełną dokumentacją i jeśli natrafimy na problemy
podczas instalacji, powinniśmy skorzystać z pomocy oferowanej przez witrynę www.phpforflash.com . W ten
sposób dochodzimy do kolejnego zagadnienia...
Wsparcie — każdy go potrzebuje
Niniejsza książka wydawnictwa Friends of ED ma pełne wsparcie ze strony witryny www.friendsofed.com , jak i
własnej, www.phpforflash.com . Pliki źródłowe do książki mogą być pobierane z obu tych witryn. Ponadto,
witryny te prowadzą forum dyskusyjne, gdzie można udać się w poszukiwaniu pomocy, inspiracji, czy też po
prostu po to, by pogawędzić. Forum dostępne na www.phpforflash.com będzie tematem jednego z późniejszych
przykładów, a więc odwiedźmy je i podzielmy się swoimi uwagami!
Witryna PHP for Flash oferuje ponadto dodatkowe pliki i samouczki, uaktualnienia oraz liczne prezentacje
działania przykładów opisywanych w książce. Warto również dołączyć do naszej listy wysyłkowej i podzielić
się swymi plikami FLA, które zostaną zaprezentowane na witrynie — z chęcią zobaczymy, co osiągnęliście!
Jeśli Waszym celem jest osiągnięcie pełnego profesjonalizmu, poprzez witrynę Friends of ED możecie
wymienić się uwagami z czołowymi projektantami, zasięgnąć informacji o innych książkach, przeczytać
przykładowe rozdziały i zrobić wiele innych rzeczy. Ta książka, to tylko część większej całości.
Jednakże, napotykając kłopoty, czy też doświadczając problemów z określonym plikiem czy samouczkiem, a
nawet wówczas, gdy poczujecie się zupełnie zagubieni, przyjdziemy Wam z pomocą. Wystarczy pozostawić
wiadomość na forum, skorzystać z formularza działu łączności z Czytelnikami lub wysłać list elektroniczny pod
adresem support@friendsofed.com — nie pozwolimy Wam długo czekać.
Jeśli nawet nie będziecie mieć problemów, podzielcie się z nami swymi spostrzeżeniami. Piszcie na adres
feedback@friendsofed.com — jesteśmy tu dla Was i każdy głos będzie dla nas radością!
Po tym wstępie jesteście już gotowi i prawdopodobnie nie możecie się doczekać, kiedy przejdziemy do
omawiania PHP i wszystkich zagadnień, o których wspominałem. Rozpocznijmy więc od krótkiego rysu
historycznego na temat języka i pomówmy chwilę o tym, czym są skrypty serwerowe.
PHP i skrypty serwerowe
Dotarłszy do tego miejsca, każdy z nas wie już zapewne, że PHP jest językiem do tworzenia skryptów
serwerowych. Wszystko pięknie, ale wydaje mi się, że niektórzy zastanawiają się, czym u licha są te skrypty
serwerowe i do czego służą. Odbądźmy więc krótką podróż w czasie, do chwili, gdy wszystko się zaczęło —
poznajmy historię powstania PHP i przyczyny, dla których stał się jednym z najpotężniejszych i
najpopularniejszych języków skryptowych.
2
PHP powstał pod koniec 1994 roku jako dzieło Rasmusa Lerdorfa. Początek dała mu kolekcja skryptów w
języku Perl, która posłużyła panu Lerdorfowi do obserwacji osób, które zainteresowały się jego życiorysem
(CV) udostępnionym w sieci.
Nieuchronnie, podobne skrypty zapragnęli stosować inni. W odpowiedzi na liczne prośby, Rasmus opublikował
pakiet nazwany P ersonal H ome P age Tools, co miało miejsce w roku 1995. Na tym wczesnym etapie PHP był
czymś więcej niż tylko zestawem prostych narzędzi sieciowych — jak księga gości, licznik czy inne gadżety —
dopełnionym prostym parserem makr.
W połowie 1995 roku Rasmus całkowicie przeprojektował parser. Dodał do niego także moduł interpretera
formularzy, który zapewnił PHP zdolność przetwarzania formularzy HTML. Całość została ochrzczona jako
PHP/FI czyli PHP2. Jednakże, z powodów, które prawdopodobnie powinny pozostać owiane tajemnicą, PHP
nazwano także PHP Hypertext Preprocessor , co wprawiło wszystkich w osłupienie!
Choć trudno poprzeć to dokładnymi danymi, szacuje się, że pod koniec roku 1996 PHP stosowano na ponad
15.000 witryn, a liczba ta przekroczyła 50.000 w połowie 1997 roku. Rok 1997 przyniósł także
zinstytucjonalizowanie PHP, gdy z przedsięwzięcia indywidualnego, język stał się przedmiotem prac specjalnej
organizacji. Wiązało się to z ponownym, całkowitym przeprojektowaniem parsera, co dało podwalny dla wersji
PHP3. Składnia języka została udoskonalona, a dzięki zapożyczeniom z języków C oraz Perl, język stał się
znacznie silniejszy i łatwiejszy do nauczenia. Dodano ponadto API (ang. Applicatiion Programming Interface –
Interfejs programowania aplikacji), który pozwolił programistom zewnętrznym na poszerzanie funkcjonalności
PHP, poprzez tworzenie własnych modułów.
Wersja 3 wprawiła w zachwyt wszystkich projektantów i programistów. Oto pojawił się bowiem łatwy do
zrozumienia język skryptów serwerowych! Nie trzeba było już być geniuszem CGI, by móc tworzyć liczniki,
księgi gości, formularze rejestracyjne czy też jakiekolwiek inne aplikacje serwerowe, które składają się na
nowoczesne witryny sieciowe.
Wersja 3 zmieniła oblicze programowania, urzeczywistniając ideę dynamicznej zawartości stron, oferując przy
tym prostą składnię i możliwość komunikacji z bazami danych. Oczekiwania rozwoju PHP zapewniają
natomiast pojawianie się coraz to nowszych funkcji, w co zaangażowanych jest liczne grono programistów PHP.
Równolegle z kilkoma późniejszymi wydaniami usuwającymi błędy i poszerzającymi wersję 3, dwóch
programistów, Zeev Suraski oraz Andi Gutman, którzy byli głęboko zaangażowani w rozwój wczesnych wersji
PHP, postanowiła przeprojektować PHP od podstaw.
W rezultacie powstał mechanizm Zend, serce PHP4. Nazwa Zend została utworzona z liter imion obu
programistów (Zeev i Andi). Zend (PHP4) wniósł wiele nowości, a wśród nich zwiększenie wydajności języka
(do 1000% w stosunku do PHP3), obsługę obszerniejszego wachlarza bibliotek zewnętrznych i rozszerzeń.
Ulepszona została także obsługa programowania obiektowego, z którym zapoznamy się w Dodatku B , o ile
będziecie mieć na to ochotę, po lekturze kolejnych niemal 500 stron!
Klient i serwer
Mówiąc najprościej, skrypt serwerowy to program wykonywany na serwerze, obsługujący żądania udzielenia
informacji i zwracający bądź generujący na bieżąco dokumenty, w oparciu o wyznaczone kryteria - — na
przykład, witający mnie Welcome back Steve, gdy ponownie odwiedzę witrynę. Skrypt pozwala nam także
uzyskiwać dostęp do narzędzi znajdujących się na serwerze, uzupełniając je dodatkowymi funkcjami.
Korzystając z poniższych diagramów wskazemy różnice pomiędzy żądaniami otwarcia normalnego pliku i
skryptu serwerowego.
Normalny proces odczytywania standardowej strony sieciowej wygląda następująco:
Rys. str. 6:
1.Żądanie otwarcia strony sieciowej
Komputer klienta
Serwer sieci Web
2.Zwrócona strona Web
Choć jest to dość uproszczony schemat całego procesu, prezentuje on główne etapy otwierania strony sieciowej.
Na początku klient (odwiedzający lub lego komputer) wysyła pod adresem serwera żądanie otwarcia określonej
strony. Następnie, przy założeniu, że strona ta istnieje, serwer odczytuje ją z jej lokalizacji i zwraca klientowi.
W ten sposób działa większość małych witryn (ale także niektóre duże), obsługując strony i pliki. Strony takie
określa się często mianem "statycznych", gdyż ich zawartość można zmienić jedynie drogą modyfikacji pliku
HTML — jest to przyczyną dużego wysiłku, gdy zawartość ta jest obszerna. Nawet większość witryn Flasha
funkcjonuje w taki sposób, choć po zwróceniu strony, odrębne żądanie wędruje do pliku SWF.
3
Jednakże, jeśli żądaną stroną jest skrypt serwerowy, na przykład PHP, proces zaczyna wyglądać nieco inaczej.
Rys. str. 7
1.Żądanie otwarcia strony
Komputer klienta
Serwer sieci Web
2.Mechanizm PHP
3.Przetworzona i zwrócona strona
Jak widać, żądanie wysyłane jest przez klienta w normalny sposób, gdyż klient nie wie i wcale nie musi
wiedzieć czy żądany plik jest skryptem serwerowym, czy też zwyczajnym plikiem — jak dziecko płaczące w
cukierni i krzyczące "Ja chcę jednego". Gdy serwer odbiera żądanie, otwiera plik i przekazuje go mechanizmowi
sewerowemu (w tym przypadku PHP).
Strona jest przetwarzana przez mechanizm PHP, a zawarty w niej kod ulega wykonaniu przed zwróceniem do
klienta. Na tym etapie procesu dzieją się bardzo ciekawe rzeczy: wygenerowana zostaje dynamiczna zawartość,
proste pliki mogą zostać użyte jako część zwracanego dokumentu i uruchomione mogą być narzędzia
zainstalowane na serwerze. Informacje mogą być odczytywane z bazy danych lub innego źródła, choć nie
uwzględniliśmy tu pobierania danych zewnętrznych — dojdziemy do tego zagadnienia w Rozdziale 7 .
Skoro wiemy już, czym jest PHP i omówiliśmy zalety uzupełniania statycznych witryn treściami dynamicznymi,
możemy zająć się tworzeniem pierwszych stron w PHP. Tak naprawdę, pierwsze kroki wykonamy dopiero w
przykładzie opisanym w Rozdziale 1 , a tymczasem zobaczmy jak proste są to zagadnienia.
Podstawy PHP
Zazwyczaj, kod PHP jest osadzany wewnątrz pliku HTML, tworząc w ten sposób dynamiczną stronę sieci Web.
Ponieważ jednak interesuje nas wyłącznie korzystanie z PHP, pominiemy w naszych skryptach kod HTML,
choć połączymy go z PHP w Rozdziale 10 i 12 , gdzie będziemy tworzyć sekcje administratorskie dla naszych
aplikacji sieciowych!
1. Jeśli dysponujesz już zainstalowanym PHP i masz dostęp do odpowiedniego serwera, otwórz swój
ulubiony edytor tekstu i wpisz następujące dwa znaki:
<?
Jest to znacznik otwierający — informuje on procesor PHP na serwerze, że będzie miał do czynienia ze
skryptem PHP. Każdy skrypt musi zawierać parę znaczników <? ?> , pomiędzy którymi znajduje się
właściwy kod.
2. Teraz poznaj funkcję echo(), która stanowi prostą metodę nakazywania PHP przesłanie informacji lub
tekstu do klienta w celu wyświetlenia.
echo();
Jak się zapewne domyślasz, wyświetlany tekst znajduje się w nawiasach. Zwróć też uwagę na średnik
na końcu wiersza — jest on obowiązkowym elementem kodu PHP.
3. Dopisz proste zdanie, ujmując je w cudzysłowy; możesz wpisać cokolwiek:
echo("Hello and welcome to the site!");
4. Teraz zakończ skrypt PHP, wpisując nieodzowny znacznik zmykający:
?>
Wszystko, co pozostało do zrobienia, to przesłanie lub skopiowanie skryptu na serwer obsługujący
PHP.
5. Zapisz plik pod nazwą basic.php , w głównym katalogu. Katalog ten powinien być wyznaczony
podczas instalacji. W przypadku serwera Apache, jest to zazwyczaj podkatalog htdocs w katalogu
Apache . Jeśli nie testujesz skryptu lokalnie, prześlij go na swoją witrynę.
4
6. Na koniec, aby obejrzeć działanie nowego pliku, wpisz jego adres. Jeśli odbywa się to lokalnie,
wówczas w większości przypadków, adres powinien wyglądać następująco: http://localhost.basic.php ;
jeśli masz z tym problemy, zajrzyj do Dodatku A . Jeżeli korzystasz z hosta zdalnego, po prostu wpisz
jego adres, na przykład www.phpforflash.com/basic.php .
No dobrze, takie efekty można uzyskać we Flashu czy HTML w przeciągu kilku sekund. Jednak te niepozorne
znaczniki PHP otwierają przed nami wiele drzwi i umożliwiają osiąganie fascynujących rezultatów.
Czy moglibyśmy witać odwiedzających, powracających na naszą witrynę, po imieniu? Jest to bardzo proste:
echo("Hello, $name, and welcome to the site!");
… gdzie $name reprezentuje wartość "cookie" (ciasteczka) czyli niewielkiej porcji danych, zapisanych wraz z
imieniem osoby odwiedzającej. Cookie tworzy się za pomocą pojedynczego wiersza kod, a korzystanie z
ciasteczek zostanie szczegółowo omówione w Rozdziale 6 .
Owe wartości $ są dla nas bardzo istotne. Są to bowiem zmienne, które mogą przechowywać informacje
dowolnego typu, od treści wpisanej przez użytkownika w polu tekstowym, poprzez wyniki obliczeń
serwerowych (na przykład, odczytu daty i godziny), po całe tabele z bazy danych.
A jeśli zechcielibyśmy pójść dalej — co jeszcze moglibyśmy zaoferować odwiedzającym poza imiennym
powitaniem?
Moglibyśmy udostępniać im wiadomości z archiwum — być może nawet posortowane, za pomocą
funkcji time , w taki sposób, by najświeższe zostały wyświetlone na początku.
Moglibyśmy też wyświetlać wiadomości w oparciu o zainteresowania odwiedzającego – gdybyśmy
poprosili go o określenie preferencji, można byłoby utworzyć stronę zawierającą artykuły interesujące
użytkownika.
A jeśli chcielibyśmy odświeżyć wiadomości? Czy należałoby przepisywać skrypty? Nie... wystarczy,
jeśli użyjemy łatwo edytowalnych plików tekstowych, a wiadomości będziemy ładować za pomocą
PHP — w ten sposób plików PHP nie trzeba będzie modyfikować nigdy. O tym, jak korzystać ze
wszelkiego typu plików zewnętrznych, pomówimy w Rozdziale 7 .
A może pozwolilibyśmy użytkownikowi na zachowywanie określonych fragmentów wiadomości lub
treści strony i ich późniejsze wyświetlanie? Wystarczyłoby wówczas zapisać te fragmenty w bazie
danych, wraz ze szczegółowymi informacjami dotyczącymi użytkownika, dzięki czemu mógłby on
odczytać zachowane fragmenty w dowolnej chwili.
Moglibyśmy też umożliwić użytkownikom przeszukiwanie wiadomości w celu odnalezienia
określonych tematów czy słów kluczowych. O tym, jak przeszukiwać pliki tekstowe, będziemy mówić
w Rozdziale 5 , zaś w Rozdziale 9 zajmiemy się wyszukiwaniem w bazach danych.
Te znaczniki <? ?> są naszym kluczem do nieustannie zmieniającej się, łatwej w użyciu i odświeżaniu
informacji, które z łatwością możemy umieścić w swoich projektach Flasha. Kształtować możemy każdy aspekt
wrażeń, jakie odnosić będą użytkownicy, zachęcając ich do wielokrotnych powrotów.
W pierwszym rozdziale będziemy się koncentrować na obszarze działania Flasha, choć nawiązania do niego
będą bardzo częste w całej książce. Na końcu pierwszego rozdziału zajmiemy się doskonałą, choć niewielką,
aplikacją rejestracyjną, opisując część Flasha, fragment po fragmencie, a następnie zapoznając się z prawdziwą
potęgą skryptów PHP, zanim wykonamy pierwsze kroki w kierunku pełnego zrozumienia szalonego świata
PHP.
PHP ułatwia praktycznie wszystkie zadania, jakie tylko wymyślimy, a po lekturze kolejnych 450 stron, każdy z
Was zacznie się zastanawiać, jak dawał sobie bez niego radę dotychczas.
Statyka to dzień wczorajszy, PHP to dzień dzisiejszy, a jeśli książka ta będzie czytana także jutro, tym większy
będzie Wasz sukces!
5
Zgłoś jeśli naruszono regulamin