MENU

Kurs PHP cz.I


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 prosty 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 ostatniej 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:

echo("Kawa│ek<BR>tekstu")
/* Poprzednia linia wy╢wietla w 2 liniach napis
"kawa│ek tekstu".
Nie jest to zbyt odkrywcze, ale w ko±cu
chodzi o przyk│ad zastosowania komentarza ;-) */

Jak widaµ komentarz mo┐e mieµ na kilka lini.


Wykorzystanie zmiennych

     W skryptach PHP wykorzystanie zmiennych jest du┐o prostsze ni┐ w wielu innych jΩzykach. 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

     Jeszcze s│owo wyja╢nienia na temat typ≤w zmiennych. PHP obecnie obs│uguje nastΩpuj▒ce typy zmiennych:

  1. integer - liczba ca│kowita
  2. double - liczba rzeczywista
  3. string - tekst
  4. array - tablica
  5. object - z│o┐one zmienne definiowane przez u┐ytkownika
  6. pdfdoc (Tylko przy w│▒czonej obs│udze dokument≤w PDF)
  7. 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▒, zle 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µ \\. Aby umie╢ciµ w tek╢cie znaku nowej lini 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╢µ".

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

     Poprzedni przyk│ad ogranicza│ siΩ tylko do przypisania kilku zmiennym warto╢ci. Oczywi╢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); /* tego ju┐ chyba nie musze wyja╢niaµ */

     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 przypisywana 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



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)
{
$a+=$b;
echo($a);
}

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 klamrowych nale┐y podaµ tre╢µ funkcji. W celu wywo│ania funkcji podaje siΩ jej nazwΩ i w nawiasach 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 miejscach. Dobrze jest te┐ d│u┐sze fragmenty skrypt≤w umie╢ciµ w kilku funkcjach w celu zwiΩkszenia przej┐ysto╢ci.


Zmienne w funkcjach

     Kiedy zmienna jest zadeklarowana poza funkcj▒, jej warto╢µ nie bΩdzie widoczna w funkcji. Ilustruje to przyk│ad:

$a=5;

Function f()
{
echo($a);
}

f();

     Wykonanie powy┐szego kodu nie spowoduje, jak mog│oby siΩ wydawaµ, wy╢wietlenia liczby 5. »eby zmienna globalna (w tym wypacku $a) by│a widoczna wewn▒trz funkcji, nale┐y u┐yµ polecenia global:

$a=5;

Function f()
{
global $a;
echo($a);
}

f();

     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:

Function f()
{
$a=2;
echo($a);
$a++;
}

f();
f();

     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:

Function f()
{
static $a=2;
echo($a);
$a++;
}

f();
f();

     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);
echo($a); /* $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:

Function f()
{
return 3;
echo("Ten tekst siΩ nie wy╢wietli");
}

     Po wykonaniu polecenia return ko±czy siΩ dzia│anie funkcji i funkcja echo nie jest wywo│ywana.

 

Kurs udostΩpni│ :
http://ygreg.and.pl

 
 

Contents copyright © 2000 - 2001, Krzysztof Dziewo±ski. All rights reserved.