r02_t.pdf

(309 KB) Pobierz
Oto przyk³ady stylów nag³ówków:
Rozdział 2
Zaczynamy pracę z PHP
W niniejszym rozdziale omówimy następujące tematy:
Początek podróży po PHP; konwencje nazewnictwa i komentarze
Przechowywanie i wywoływanie informacji za pomocą zmiennych
Wpisywanie kodu z użyciem operatorów
Budowa złożonych argumentów przy użyciu wyrażeń
Przechowywanie i wywoływanie danych przy użyciu tablic
Łączenie powyższych elementów w prostą aplikację logowania
Mając już za sobą pierwsze doświadczenia z PHP i wiedząc co nieco o jego działaniu, czas zająć się
poważniejszymi zadaniami. W niniejszym rozdziale przyjrzymy się podstawowym elementom języka PHP i
sposobom jego wykorzystania w tworzeniu dynamicznej zawartości witryn Flash – w końcu o to tu chodzi,
nieprawdaż?
Lektura bieżącego rozdziału pozwoli nam zbudować solidny fundament, na którym oprzemy wiedzę zdobywaną
w dalszych częściach książki – doprawdy, już wkrótce zaczniemy wspinać się na wyżyny PHP! Omawianie
podstawowych aspektów dobrego skryptu PHP zakończymy tworząc aplikację logowania użytkownika.
Znakomita większość materiału omówionego w poprzednim rozdziale jest nam prawdopodobnie znana, a
zwłaszcza tym z nas, którzy mają pewne doświadczenie z ActionScript. Wynika to z faktu podobieństwa
konstrukcji ActionScript i PHP, a to oznacza, że zmienne, tablice i tak dalej nie są nam obce. Należy tu jednak
stwierdzić, że sposób, w jaki PHP obsługuje owe konstrukcje może być zupełnie różny od stosowanego przez
ActionScript, a zatem, nawet będąc doświadczonym programistą ActionScript, należy wytężyć uwagę!
Kilka słów o konwencji nazewnictwa
Zanim zaczniemy, warto przez chwilę zastanowić się nad stylem kodowania. Nie oznacza to sposobu, w jaki
wpisujemy kod, czy też jak jesteśmy ubrani podczas tej czynności – chodzi tu o wygląd kodu.
Powyższy kod wygląda całkiem ładnie, ale czy da się go odczytać? Prawdopodobnie tak, ale styl kodowania nie
ma nic wspólnego z zabawnym krojem czcionki czy kolorem. Składają się na niego poprawne komentarze i
inteligentne konwencje nazewnictwa.
Style kodowania można stosować do wszystkich aspektów jego prezentacji, ale jednym z nich, który w
szczególny sposób ułatwia nam, jako programistom, życie jest sposób nazywania zmiennych.
Autor, w ciągu wielu lat programowania wypróbował wiele różnych konwencji nazewniczych, co zakończyło
się wypracowaniem własnego stylu, stanowiącego zbiór ulubionych elementów różnych konwencji. Praktycznie
rzecz biorąc, to jaką metodę wybierzemy nie jest tak ważne, jak to, by stosować ją konsekwentnie we
wszystkich skryptach.
Jedna z najpopularniejszych konwencji nazewniczych określana jest mianem notacji wielbłądziej. Polega ona na
definiowaniu nazw zmiennych jako pojedynczych wyrazów, rozpoczynanych od małej litery, na przykład name .
Jeśli nazwę zmiennej tworzy kilka wyrazów, pierwsza litera każdego dodatkowego słowa jest literą wielką – na
przykład dateOfBirth . Notacja wielbłądzia stanowi domyślny styl ActionScript i z tego powodu będziemy
ją stosować w całej książce, zarówno w kodach ActionScript jak i PHP.
Kto często parał się programowaniem ActionScript w trybie Expert, ten z pewnością wypracował już własny
styl kodowania lub wykorzystuje inny. Jeśli więc kodowanie skryptów we własnym stylu jest dla niego
wygodniejsze, może przy nim pozostać. Jeżeli jest on poprawny, nie ma potrzeby go zmieniać! Jeśli jednak
wystąpią problemy z niektórymi opisywanymi przykładami, należy sprawdzić i upewnić się, że wszystkim
zmiennym został nadany jednolity styl.
1
Należy zwrócić uwagę na fakt, że PHP jest językiem rozpoznającym wielkość liter. Oznacza to więc, że
zmienne $test , $Test oraz $TEST będą w praktyce trzema różnymi zmiennymi. Z tej przyczyny należy
zachować dokładność podczas nadawania zmiennym nazw i przestrzegać przyjętego stylu.
Komentarze
Innym elementem, który powinniśmy omówić przed przystąpieniem do dalszych rozważań, jest wykorzystanie
komentarzy. Każdy z nas zauważył z pewnością, że skrypty, które dotąd były prezentowane, zawierały
komentarze, czy to jako objaśnienia dotyczące skryptu w Rozdziale 1 czy też w celu zademonstrowania notacji.
Komentarz, to najlepszy przyjaciel projektanta witryny Web! Programiści ActionScript lub używający
jakiegokolwiek innego języka programowania sieciowego, choćby HTML, prawdopodobnie doskonale wiedzą,
czym są komentarze, jednak gwoli ścisłości... mówiąc najprościej, komentarz jest krótką notatką, którą
umieszcza się wewnątrz kodu, pozwalającą przypomnieć sobie, czemu dany fragment kodu służy. Komentarze
są całkowicie ignorowane przez interpreter PHP, a wykorzystuje się je dla własnej wygody oraz w celu
ułatwienia innym programistom zrozumienia działania kodu, bez potrzeby dekodowania go.
W PHP obowiązują dwie metody:
// To jest zwykły komentarz
... oraz...
/* To jest szczególnie długi komentarz i dlatego został umieszczony pomiędzy
symbolami, na początku i na końcu */
W większości przypadków stosować będziemy pierwszą metodę, choć druga została użyta w przykładzie w
Rozdziale 1.
Odpowiednio wybrane nazwy zmiennych mogą zredukować konieczność wpisywania komentarzy. Jeśli
nazwiemy zmienną $name , wówczas komentarz objaśniający jej znaczenie nie będzie potrzebny. Niemniej
jednak, konieczne może okazać się poinformowanie innych, do czego owa zmienna służy. Ważnym jest więc
znalezienie kompromisu pomiędzy nadawaniem zmiennym opisowych nazw i, w razie potrzeby, wstawianiem
komentarzy zapewniających kodowi czytelność.
Zaraz, zaraz... ktoś tu wspominał o zmiennych?
Zmienne
Pierwszą i najbardziej fundamentalną rzeczą, jakiej oczekujemy od PHP jest zdolność do przechowywania
informacji – dynamiczny język skryptowy bez takiej funkcji byłby równie praktyczny jak kwiatek przy
kożuchu!
Podobnie jak w ActionScript, główna metodą przechowywania informacji polega w PHP na wykorzystaniu
zmiennych. Nie będziemy tu zgłębiać samej ich istoty, gdyż zmiennymi posługiwaliśmy się już we Flashu.
Mówiąc najprościej, zmienną można zobrazować jako pudełko, w którym możemy przechowywać informacje o
różnej wielkości i kształcie. Informacja, którą przechowuje zmienna, zwie się wartością.
Analogia ta jest nieco niedokładna, gdyż zazwyczaj pudełka nie mają nazw. PHP pozwala nadawać zmiennym
odrębne i opisowe nazwy, poprzez które będziemy się do nich odwoływać, pisząc skrypty. Istnieją pewne
obostrzenia, jakie PHP nakłada na nas względem nadawania nazw zmiennym, jednak powrócimy do nich nieco
później.
Na powyższym diagramie widzimy zmienne $firstName , $faveEd i $faveAuthor oraz zawarte w tych
„pudełkach” wartości. Przyjrzyjmy się rzeczywistemu przykładowi inicjalizacji i użycia zmiennej w PHP:
<?
// Przechowaj tytuł książki jako zmienną, a następnie wyświetl go
$bookTitle = „Foundation PHP for Flash”;
echo($bookTitle);
?>
Jak nietrudno się zorientować, cały powyższy kod służy wyświetleniu napisu Foundation PHP for Flash , ale
przyjrzyjmy się jego działaniu bliżej…
2
W pierwszym i ostatnim wierszu umieszczone są znaczniki PHP, oznaczające początek i koniec skryptu. Jak już
wspominaliśmy, cała treść umieszczona pomiędzy tymi dwoma znacznikami, uznawana jest jako skrypt i
wykonywana przez interpreter PHP na serwerze.
Wiersz drugi (po komentarzu) stanowi przykład inicjalizacji zmiennej w PHP.
$bookTitle = „Foundation PHP for Flash”;
Elementem, który może nas nieco dziwić, jest symbol dolara na początku nazwy zmiennej. Jest to pozostałość z
konwencji stosowanej w języku Perl, przeniesiona do PHP i która z pewnością może przysparzać wielu
problemów tym użytkownikom, którzy posługiwali się dotychczas językiem ActionScript, który nie wymaga
stosowania tego znaku. Tak czy owak, PHP nakłada na nas obowiązek wpisywania owego symbolu i nie
wybaczy nam jego braku!
Mówiąc opisowo, wiersz ten można odczytać: Przechowaj łańcuch Foundation PHP for Flash
w zmiennej o nazwie $bookTitle .
Kolejny wiersz wykorzystuje funkcję echo , z którą spotkaliśmy się już wcześniej, do wydobycia zawartości
zmiennej $bookTitle . Zwróćmy uwagę, że jest to nieco inny sposób wykorzystania funkcji echo , niż
poprzednim razem. W pierwszym rozdziale funkcja ta służyła do zwykłego wyświetlania napisu na ekranie.
Tym razem przekazujemy zmienną $bookTitle , której zawartość w postaci łańcucha zamierzamy wyświetlić.
Rzecz jasna, efekt jest taki sam, ale po ustanowieniu zmiennych, ich wartości możemy łatwo i szybko zmieniać,
a tworząc zmienne typu $bookTitle = „cokolwiek wpiszemy” możemy nadawać filmom Flasha
prawdziwej mocy!
Nadawanie nazw zmiennym
Jak wspominaliśmy wcześniej, PHP stawia pewne ograniczenia co do sposobu nazywania zmiennych. Regułą
prostą do zapamiętania jest to, że nazwy zmiennych mogą składać się wyłącznie ze znaków alfanumerycznych
oraz znaku podkreślenia, zaś pierwszym znakiem nazwy nie może być cyfra!
Poniżej widzimy przykłady poprawnie i niepoprawnie zdefiniowanych nazw zmiennych...
Takie same zasady rządzą nazwami zmiennych w ActionScript, a zatem powinny nam być już znane.
Oprócz tego, w jaki sposób nazywamy zmienne, ważnym jest jakie im nadajemy nazwy. Na przykład...
$name = „Steve Webster”;
...znaczy więcej niż...
$a = „Steve Webster”;
Ogólnie rzecz biorąc, warto nadawać zmiennym nazwy w sposób kojarzący się ze sposobem ich wykorzystania.
Po pierwsze, ułatwi nam to przypomnienie sobie ich znaczenia, gdy w połowie skryptu zajdzie potrzeba ich
użycia. Po drugie zaś, umożliwi nam to odgadnięcie ich funkcji, gdy powrócimy do skryptu po kilku miesiącach,
by wyposażyć go w nowe możliwości!
Ładowanie zmiennych z PHP
Zanim przejdziemy do kolejnego podrozdziału, pomówmy o tym, w jaki sposób zastąpić plik tekstowy z
przykładu lvtest_onclip.fla w Rozdziale 1 skryptem PHP, w celu uzyskania takiego samego efektu.
Techniki tej użyliśmy, gdy w Rozdziale 1 tworzyliśmy plik Registration , jednak tym razem prześledzimy
cały proces, krok po kroku. Ćwiczenie to będzie polegało na użyciu tej techniki w teście loadVariables .
RYS. str. 45
Tu pojawią się dane po wczytaniu...
Przed
To jest test wczytywania zmiennych PHP. Podoba Ci się???
Po
3
Ponieważ jako podstawę tego ćwiczenia wykorzystamy jeden z przykładów z Rozdziału 1., wystarczy gdy
zapiszemy ten plik pod nową nazwą, dzięki czemu nie będziemy tworzyć filmu od nowa.
1. Otwórz film lvtest_onclip.fla z Rozdziału 1 i zapisz go jako phplvtest_onclip.fla .
2. Jedynym elementem filmu, jaki musimy poddać modyfikacji, jest nazwa pliku wywoływanego
poleceniem loadVariables . Poddaj edycji kod ActionScript przypisany przyciskowi Load Data ,
sprawiając by zamiast pliku lvtest.txt wywoływał lvtest.php ...
3. Teraz należy utworzyć plik PHP. Za pomocą jakiegokolwiek edytora tekstowego lub edytora PHP, jeśli
takowy posiadasz, wprowadź następujący kod, zapisując go następnie w pliku o nazwie lvtest.php .
<?
// lvtest.php
// Store message into variable
$Text = "This is the PHP loadvars test! Do you like it???";
// Output to Flash movie in name/value pair format
echo "&Text=" . urlencode($Text);
?>
4. Użyta tu została funkcja urlencode , dzięki której możesz mieć pewność, że wszystkie znaki w
$text zostaną poprawnie przekazane do filmu Flasha. Zagadnienie to, a także powiązane z nim,
omówimy w Rozdziale 4.
5. To wszystko! Zwróć uwagę, że w odróżnieniu od przykładu z wczytywaniem pliku tekstowego, jego
poprawne działanie w obecnej formie wymaga przeniesienia lub skopiowania plików HTML, SWF
oraz PHP na serwer sieci Web. Wynika to z konieczności uruchamiania kodu PHP przez serwer.
Jeśli spróbujesz wykonać test na komputerze lokalnym, może to dać dziwne rezultaty w miejscach, w
których powinien być wykonany kod PHP. Gdy przyjrzysz się skryptowi PHP, z pewnością zobaczysz,
co się dzieje!
No dobrze, możemy się jednak zastanawiać „na czym polega różnica pomiędzy wczytywaniem zmiennych z
pliku tekstowego i pliku PHP”. No cóż, skoro już wiemy, jak ładować zmienne z pliku PHP, nie musimy się
ograniczać jedynie do wczytywania zdań typu This is the PHP loadvars test...
Zmiennej $text można nadać dowolną wartość; może nią być nazwa użytkownika, preferencja, wiadomość...
ponieważ zmienna jest przekazywana z i do skryptu PHP, staje się dynamiczna, co oznacza możliwość
wykorzystania jej na niezliczoną ilość sposobów. Zmienna $text może reprezentować nawet wartości
pobierane z bazy danych. W Rozdziale 9. zobaczymy jak skorzystać z takiej możliwości, mimo że już
spotkaliśmy się z nią – w przykładzie formularza rejestracyjnego, w Rozdziale 1.
Typy danych
Skoro wiemy już czym są zmienne i jak ich używać, przyjrzymy się typom informacji, jakie podstawowe
zmienne mogą przechowywać – określanym również jako typy danych.
PHP oferuje trzy podstawowe typy danych, z których możemy korzystać:
Integer są stosowane do przechowywania liczb całkowitych (innymi słowy, liczb bez części
ułamkowych) z zakresu od około –2.000.000.000 do +2.000.000.000. Przykładem takiej liczby
może być 5.
Double (zwane również jako liczby zmiennoprzecinkowe lub rzeczywiste) służą do
reprezentacji liczb z wartościami dziesiętnymi lub częściami wykładniczymi, na przykład
2,765 lub nawet 2,0.
String (Łańcuch) używane są do przechowywania wartości nienumerycznych, ujmowanych w
cudzysłowy, na przykład „Jestem wartością nienumeryczną”, a nawet „2”!
PHP określa się jako język o słabej kontroli typów. Oznacza to, podobnie jak w przypadku ActionScript, że typy
danych przechowywanych w zmiennych mogą być zmieniane poprzez ponowne przypisania, a także
interpretowane w określony sposób, w zależności od sposobu użycia. Występują tu pewne różnice w stosunku
do ActionScript, jednak ogólna zasada pozostaje taka sama.
O tym, jak sposób użycia zmiennych PHP może wpływać na ich interpretację, przekonamy się na przykładzie
poniższego fragmentu kodu:
4
<?
$first = „1”;
$second = „2”;
$result = $first + $second
echo „Rezultat to: $result”;
?>
Najpierw inicjujemy dwie zmienne, $first oraz $second , z wartościami łańcuchowymi „1” i „2” .
Zmienne te zostają dodane do siebie, zaś wynik dodawania jest przechowywany w zmiennej $result . Na
końcu następuje wyświetlenie wartości $result , poprzez wywołanie funkcji echo .
Zazwyczaj, proces dodawania dwóch łańcuchów daje rezultat w postaci ich połączenia, co nazywamy
konkatenacją. Mając to na uwadze, nie popełnilibyśmy błędu, zakładając że wartością przechowywaną w
zmiennej $result powinien być łańcuch „12” , co stanowiłoby efekt konkatenacji, czyli połączenia obu
łańcuchów. Stałoby się tak rzeczywiście, jeśli ten sam kod zapisalibyśmy w ActionScript.
Jednakże PHP traktuje symbol „+” jako operator matematyczny, przeznaczony do pracy z liczbami. Łańcuchy są
najpierw zamieniane na liczby właściwego rodzaju (w tym przypadku liczby typu integer), a następnie
matematycznie zsumowane. Oznacza to, że rzeczywistą wartością $result jest 3 (liczba całkowita), a nie „12”
(łańcuch). Jednak wartości i typy danych w zmiennych $first oraz $second nie zostały zmodyfikowane;
zamieniliśmy je jedynie na chwilę dodawania.
Chcąc poprawnie skonkatenować łańcuchy, powinniśmy użyć symbolu konkatenacji PHP; jest to symbol
zatrzymania (czyli kropki). A zatem, jeśli zmienimy kod do postaci...
<?
$first = „1”;
$second = „2”;
$result = $first . $second;
echo “Rezultat to: $result”;
?>
… wówczas zmiennej $result zostanie przypisany łańcuch “12”, jak pierwotnie oczekiwaliśmy.
W następnym podrozdziale przyjrzymy się pewnym, niezbędnym elementom skryptu PHP, do których należą
operatory, wyrażenia i tablice. Nawet jeśli na pierwszy rzut oka wyglądają one nieco przerażająco, nie ma
powodów do obaw. Nie taki diabeł straszny, jak go malują. Gdy poznamy podstawowe koncepcje oraz ich
powiązanie ze zmiennymi PHP, otworzy się przed nami droga do tworzenia własnych, zaawansowanych
skryptów i projektowania oszałamiających, interaktywnych witryn!
Operatory
Operatory służą do budowania wyrażeń, między innymi matematycznych. W niniejszym rozdziale już
korzystaliśmy z operatorów, a każdy z nas bez wątpienia stosował jej już niejednokrotnie w prostych
obliczeniach matematycznych i skryptach ActionScript.
Pomówmy teraz o tym, co należy rozumieć przez pojęcie operatora...
RYS. str. 49
Operator
Operandy
Operator dodawania jest jednym z najprostszych operatorów, zaś powyższy diagram przedstawia poszczególne
elementy wyrażenia. To szczególne wyrażenie składa się z dwóch operandów i jednego operatora dodawania.
Oczywiście, im bardziej złożone jest wyrażenie, tym więcej operandów i operatorów zawiera, ale każde z nich
można rozłożyć na zestaw prostszych operacji, takich jak przedstawiona powyżej.
PHP oferuje kilka różnych operatorów, a poprzez kilka najbliższych, krótkich podrozdziałów omówimy
najważniejsze z nich. Ponieważ jeden z operatorów widzieliśmy już w działaniu, zacznijmy od operatorów
arytmetycznych.
Operatory arytmetyczne
5
Zgłoś jeśli naruszono regulamin