Pawe ł Gmys Ćwiczenia z PHP - Lekcja 1 strona 1 Lekcja 1 Czym s ą skrypty PHP? Skrypty PHP s ą to programy umieszczane w treści stron WWW. S ą one wykonywane przez serwer przed wysłaniem strony do użytkownika. Maj ą bardzo duże możliwoś ci, ale mimo to s ą do ść proste. Bardzo łatwa jest obsługa formularzy za pomoc ą skryptów PHP. Jed- n ą z największych zalet skryptów PHP jest bardzo łatwa integracja z wieloma bazami da- nych. Oprócz tego skrypty PHP maj ą wiele innych ciekawych możliwości, jak dynamiczne tworzenie obrazków w formacie GIF, i możliwo ść łatwego wysyłania plików na serwer. Dzięki temu skrypty PHP stanowi ą ciekaw ą alternatyw ę dla skryptów CGI pisanych w Perlu, czy innych ję zykach. Jak umieści ć skrypt na stronie Skrypt PHP można umieści ć w pliku HTML o rozszerzeniu ustalonym przez administratora serwera. Zwykle s ą to pliki *.php3 dla wersji 3.0 i *.phtml dla wersji wcześniejszych. Fragment dokumentu który ma zasta ć zinterpretowany jako skrypt można zaznaczy ć na 4 sposoby: 1. <? (tre ść skryptu)?> 2. <?php (tre ść skryptu)?> 3. <script language="php"> (tre ść skryptu) </script> 4. <% (tre ść skryptu) %> (od wersji 3.0.4) Wybór użytego sposobu może zależe ć od innych rozszerze ń języka HTML, ewentualnie od ogranicze ń zastosowanego do tworzenia strony edytora (w tym wypadku zwykle używa si ę sposobu 3). Najprostszy skrypt Na początku jedna uwaga: znaczniki <? i?> można zastąpi ć dowolnymi wymienionymi wyżej. W następnych przykładach będe je pomija ł, podając jedynie tre ść skryptu. <? echo("to jest prosty skrypt PHP");?> W miejscu gdzie zostanie wstawiony ten skrypt powinien pojawi ć si ę napis To jest pro- sty skrypt PHP. Ten skrypt składa si ę tylko z jednej instrukcji. Instrukcje w skryptach PHP s ą kończone średnikami. Znacznik końca skryptu także kończy instrukcj ę, więc średnika na koń- cu tej lini mogłoby nie by ć. Dobrym zwyczajem jest jednak stawianie średnika także po ostat- niej instrukcji. Pomaga to w unikaniu pomyłek - jeżeli teraz dopisze jakie ś instrukcje na koń- cu skryptu wszystko będzie w porządku. Gdyby średnika nie było, pojawiłby si ę błą d. Komentarze Komentarz to wstawiany w skrypcie kawałek tekstu który jest po prostu ignorowany. Komentarze s ą przydatne zwłaszcza przy pisaniu dłuższych skryptów, w których nie wida ć na pierwszy rzut oka co który fragment robi. Komentarze w skryptach PHP s ą oznaczane tak jak w języku C - znakami /* i */, np:
Pawe ł Gmys Ćwiczenia z PHP - Lekcja 1 strona 2 echo("kawał ek tekstu") /* Poprzednia linia wyświetla w 2 liniach napis "kawałek tek- stu". Nie jest to zbyt odkrywcze, ale w końcu to tylko przykład zastosowania komentarza ;-) */ Jak wida ć komentarz może mie ć na kilka linii. Wykorzystanie zmiennych W skryptach PHP wykorzystanie zmiennych jest dużo prostsze ni ż w wielu innych języ- kach. Nazwy zmiennych zawsze zaczynaj ą si ę od znaku $. Nie jest konieczne deklarowanie zmiennych, tak jak ma to miejsce w wielu innych językach. Aby stworzy ć zmienn ą wystarczy nada ć jej jak ąś warto ść, np: $a=7; $b="jaki ś tekst"; $c=2.654; $d=0.0 PHP obsługuje następujące typy zmiennych: integer - liczba cał kowita double - liczba rzeczywista string - tekst array - tablica object - złożone zmienne definiowane przez uż ytkownika pdfdoc (Tylko przy włączonej obsł udze dokumentów PDF) pdfinfo (Tylko przy włączonej obsłudze dokumentów PDF) Typ zmiennej jest określany automatycznie na podstawie przypisywanej wartości. I tak w powyższym przykładzie $a ma typ integer, $b ma typ string a $c i $d maj ą typ double (0 jest co prawda liczb ą całkowit ą, ale każda liczba zawierająca kropk ę jest traktowana jako rzeczywista). Jak wida ć na powyższym przykładzie, tekst powinien by ć zawsze ujęty w cudzysłowy. Jeżeli chcemy w tekście umieści ć cudzysłów, należy poprzedzi ć go znakiem \. To samo dotyczy znaku $. W celu umieszczenia wewnątrz tekstu znaku \ należy napisa ć \\ (znak ucieczki). Aby umieści ć w tekście znaku nowej linii można uży ć sekwencji \n. Wewnątrz tekstu można te ż uży ć zdefiniowanych wcześ niej zmiennych: $a=3; $b="jaka ś warto ść "; $c="$a, $b"; Zmienna $c będzie miała warto ść "3, Jaka ś warto ść ".
Pawe ł Gmys Ćwiczenia z PHP - Lekcja 1 strona 3 Tablice Tablica to wiele zmiennych ułożonych kolejno, do których można dosta ć si ę za pomoc ą indeksu. Tak samo jak w przypadku zwykł ych zmiennych, aby stworzy ć tablic ę wystarczy przypisa ć warto ść któremu ś z jej pól: $tablica[0]="warto ść pola 0"; $tablica[1]="warto ść pola 1"; $tablica[2]="warto ść pola 2"; $tablica[3]="warto ść pola 3"; $tablica[4]="warto ść pola 4"; Jako indeksu można uży ć innej zmiennej, np. $indeks=3; $tablica[$indeks]=27; Operatory i wyraż enia Występujące w PHP operatory można podzielić na na kilka grup: Arytmetyczne (+, -, /, *, %) Bitowe (&,, ~, ^, >>, <<) Logiczne ( &&,,!) Przypisania (=, +=, -=, *=, /=, %=,.=, <<=, >>=, &=, =, ^=) Relacyjne (==, ===, <>,!=,!==, >, <, >=, <=) Inkrementacji / dekrementacji (++, --) Pozostał e o Łań cuchowy wyrażany za pomoc ą znaku kropki o Warunkowy: (wyra żenie1)? (wyraż enie2) o Kontroli błę dów o Wykonania polecenia zewnę trznego ( ` `) o Kontroli typów (instanceof) o Rzutowania typów konwersji ( (int), (float), (string), (array), (object) ) o Tworzenia obiektów (New nazwa_klasy(argumenty konstruktora))
Pawe ł Gmys Ćwiczenia z PHP - Lekcja 1 strona 4 o Rozdzielania wyraże ń (, -przecinek) Poprzedni przykład ogranicza ł si ę tylko do przypisania kilku zmiennym wartości. Oczy- wiście można na nich wykonywa ć dział ania: $a=5; $b=$a+2; /* $b ma warto ść 7 */ $b=$b+3; /* teraz $b ma warto ść 10 */ $b+=3; /* to ma efekt taki sam jak $b=$b+3, z tym ż e jest wyraźniejsze w zapisiei szybciej dział a */ $c=2*$a+3*($b-$a); W jednej lini można umieści ć kilka przypisa ń, np: $a=$b=5; Przypisania s ą obliczane od prawej strony (w tym wypadku najpierw zmiennej $b przy- pisywana jest warto ść 5, potem zmiennej $a warto ść zmiennej $b). PHP obsługuje kilka typów porówna ń. Porównanie ma warto ść 1 jeżeli warunek jest spełniony, lub 0 gdy nie jest. $a==$b - spełnione gdy $a i $b s ą równe. Należy pamięta ć że $a=$b jest operacj ą przypisanie - zmiennej $a jest przypisywana warto ść $b, i całe wyrażenie ma warto ść $b. $a>$b - spełnione gdy $a jest wię ksze od $b $a>=$b - spełnione gdy $a jest wię ksze lub równe $b $a<$b - speł nione gdy $a jest mniejsze od $b $a<=$b - speł nione gdy $a jest mniejsze lub równe $b Przykład użycia operatora wykonania polecenia zewnę trznego <?php $pliki = `ls la`; //w wersji dla Windows: $pliki = `dir`; echo ( <PRE> ); echo($pliki); echo( </PRE> );?> Tworzenie funkcji W programach przykładowych były ju ż użyte funkcje, chocia ż nie było o tym mowy. Konkretnie była użyta funkcja echo. Jest to przykład funkcji zdefiniowanej przez twórców języka PHP. Ale można te ż stworzy ć własn ą funkcj ę. Wyglą da to tak: Function f($a, $b)
Pawe ł Gmys Ćwiczenia z PHP - Lekcja 1 strona 5 $a+=$b; f(7, 2); /* teraz wykonaj ą si ę komendy zawarte w treś ci funkcji. Zmienna $a będzie miała warto ść 7, $b 2 */ Jak wida ć deklaracja funkcji zaczyna si ę od słowa Function. Następnie podaje si ę nazw ę funkcji i w nawiasie list ę parametrów oddzielonych przecinkami. Potem w nawiasach klam- rowych należy poda ć tre ść funkcji. W celu wywołania funkcji podaje si ę jej nazw ę i w nawia- sach list ę wartości parametrów. Jeżeli nie przekazuje si ę żadnych parametrów, i tak należy po nazwie funkcji umieści ć pusty nawias. Funkcji należy używa ć, gdy dany fragment kodu musi zosta ć wykonany w wielu miej- scach. Dobrze jest te ż dłuższe fragmenty skryptów umieści ć w kilku funkcjach w celu zwięk- szenia przejrzystoś ci. Zmienne globalne Zmienne te pozwalaj ą na uzyskanie najróżniejszych informacji konfiguracyjnych. Poniżej lista dostę pnych zmiennych globalnych: $GLOBALS $_SERVER $_GET $_POST $_COOKIE $_FILES $_ENV $_REQUEST $_SESSION Zmienne w funkcjach Kiedy zmienna jest zadeklarowana poza funkcj ą, jej warto ść nie bę dzie widoczna w funkcji. Ilustruje to przykł ad: $a=5; Wykonanie powyższego kodu nie spowoduje, jak mogłoby si ę wydawa ć, wyświetlenia liczby 5. Żeby zmienna globalna (w tym wypadku $a) była widoczna wewnątrz funkcji, nale- ży uży ć polecenia global: $a=5;
Pawe ł Gmys Ćwiczenia z PHP - Lekcja 1 strona 6 global $a; Po wykonaniu powyższego kodu w dokumencie pojawi si ę liczba 5. Jeżeli stworzymy zmienn ą wewnątrz funkcji, jej warto ść będzie za każdym wywołaniem ustawiana od począ tku: $a=2; $a++; Wykonanie tego kodu spowoduje pojawienie si ę dwa razy tego samego. Jeżeli chcemy, żeby zmienna nie traciła wartości po zakończeniu funkcji, należy uży ć polecenia static: static $a=2; $a++; Teraz w dokumencie pojawi si ę najpierw liczba 2, potem 3. Zwracanie wartoś ci Funkcja może zwróci ć warto ść. używa si ę do tego polecenia return: Function f($p) return 3*$p; $a=f(7); /* $a ma wartość 21 */ /* można te ż od razu echo(f(7)); */ Ten skrypt wyświetli liczb ę 21. Po zwróceniu wartości kończy si ę wykonanie funkcji:
Pawe ł Gmys Ćwiczenia z PHP - Lekcja 1 strona 7 return 3; echo("ten tekst si ę nie wyś wietli"); Po wykonaniu polecenia return kończy si ę działanie funkcji i funkcja echo nie jest wy- woł ywana. Instrukcje include oraz require Wywoł anie instrukcji include: include( nazwa pliku ); Wywoł anie instrukcji require( nazwa pliku ); Przykł ad zastosowania instrukcji include: Napiszemy skrypt, którego zadaniem będzie wyświetlenie dowolnej informacji w przeglądar- ce taki sposób, i ż struktura strony HTML będzie w jednym pliku, natomiast instrukcje echo w drugim Plik skrypt.php <PHP echo( <H2>WITAMY NA STRONIE</H2> );?> Teraz utworzymy drugi plik, który będzie zawiera ł instrukcj ę include <php Include skrypt.php?> Instrukcja require ma dział anie bardzo podobne do include, wczytuje plik zewnętrzny o wskazanej nazwie. Różnica ujawnia si ę w momencie, kiedy wybrany plik nie może zosta ć wczyta- ny. W takiej sytuacji w przypadku include wygenerowane zostanie ostrzeżenie, ale skrypt podstawowy (wywołujący) będzie kontynuowa ł dział anie. Tymczasem w przypadku require skrypt wywołujący zakoń czy działanie zgłaszając błą d. Zadania 1. Napisz przykładowy skrypt ilustrują cy dział anie operatorów bitowych 2. Napisz przyk adowy skrypt ilustruj cy dzia anie kilku z o onych operatorów przyp ł ą ł ł ż i- sania
Pawe ł Gmys Ćwiczenia z PHP - Lekcja 1 strona 8 3. Napisz przykładowy skrypt ilustrujący zasad ę działania operatorów ( np. 2+3*6) 4. Napisz przyk adowy skrypt, który wy wietli warto ci zmiennych globalnych (supe ł ś ś r- globalnych)