Język PHP
description
Transcript of Język PHP
Język PHPJęzyk PHP
Wprowadzenie
Wykonanie skryptuWykonanie skryptuW javascriptjavascript kod jest pobierany z serwera i
wykonywany przez przeglądarkę klienta, mającą wbudowany interpreter danego języka skryptowego.
W PHPPHP kod nie jest przesyłany do przeglądarki klienta ale wykonywany przez serwer WWW (np. Apache, Xitami, IIS) a wyniki działania skryptu są przesyłane do przeglądarki już w kodzie języka HTML.
Co jest niezbędne do wykonania skryptu PHP?
1. Przeglądarka internetowa,2. Zainstalowany jeden z serwerów WWW, np.
Apache, Xitami, IIS,3. Zainstalowany interpreter języka PHP (ang.
parser)4. Uwaga: Najlepiej zainstalować cały pakiet
KRASNAL ver. 2.7, posiada wszystko, co potrzeba do uruchomienia, przetestowania skryptów.
Jakie możliwości posiada język PHP?
1. Dynamicznie generuje strony WWW, grafikę, pliki .pdf,
2. Komunikuje się z serwerami zdalnymi różnych usług, zapis i odczyt plików,
3. Dobra integracja z serwerami baz danych jak MySQL, Sybase, itp.
4. Obsługuje sklepy internetowe, banki elektroniczne, giełdy,
5. Rozprowadzany na licencji GNU GPL, bezpłatnie, sprawdza się w różnych systemach operacyjnych…jego kod jest przenośny.
Skrypty PHP – cz. I
• Skrypty są tworzone w językach programowania. Następnie ich kod jest przekazywany przed wykonaniem do specjalnego oprogramowania – interpreterainterpretera (parsera), który tłumaczy go na postać zrozumiałą w danym systemie operacyjnym, po czym skrypt ten jest wykonywany.
• Pliki PHP powinny mieć domyślne rozszerzenie .php.php lub .html,.html,
Skrypty PHP – cz. II• Skrypty PHP mogą być umieszczane w
odrębnych plikach, mogą też być zawarte w treści kodu strony w języku HTML, podobnie jak kod Java Script.
• Przeglądarka stron WWW potrafi zinterpretować poprawnie tylko kod języka HTML i skryptów client side, np. JavaScript.
• Interpretacją kodu skryptów server side zajmuje się serwer WWW z wbudowanym interpreterem danego języka skryptowego. Zwraca on do przeglądarki wynik w postaci kodu HTML.
Dozwolone schematy skryptu PHPDozwolone schematy skryptu PHP1. <?php instrukcja skryptu ?> lub w wersji skróconej <? a ?>Wówczas musi być zapisany jako oddzielny plik
skryptowy o rozszerzeniu .php lub2. <SCRIPT language=„php”> Instrukcja skryptu </SCRIPT> lub w kodzie języka HTML3. <BODY> <?php printf („<B>pierwszy skrypt</B>”); } skrypt PHP ?> </BODY>
Mój pierwszy skrypt PHPMój pierwszy skrypt PHPĆwiczenie 1.Ćwiczenie 1.
<?php
printf (”<H1><CENTER>To jest mój pierwszy skrypt PHP</H1></CENTER>”);
?>Zapisz plik pod nazwą index.phpindex.php i umieść w katalogu
WWW serwera.
printfprintf lub echoecho– funkcja, która powoduje wyświetlenie argumentu w oknie przeglądarki,
;; - średnikiem kończymy każdą linię w skrypcie php inaczej interpreter zwróci błąd
Składnia języka PHP
Każdy język programowania ma swoją własną składnię (budowę).. Stanowią go elementy:
• Stałe,
• Zmienne,
• Operatory,
• Funkcje i struktury danych,
IdentyfikatoryIdentyfikatoryTo ciągi znaków służące do definiowania nazw
zmiennych, stałych, funkcji, itp.
Identyfikator musi spełniać zasady:
• Składać się z liter, cyfr, znaku podkreślenia, znaku dolara ($) ale nie może zaczynać się cyfrą lub zawierać polskich znaków diakrytycznych.
• PHP rozróżnia wielkość liter, więc np. zmienna $imie$imie nie oznacza tego co zmienna $Imie$Imie.
Słowa kluczoweSłowa kluczowe
Nie wolno stosować jako identyfikatory nazw zastrzeżonych, np. nazw funkcji standardowych – printf/echoprintf/echo, definedefine, itp.
KomentarzeKomentarze
To fragmenty tekstu pomijane przez interpretatory
// (max. dla jednej linii komentarza) ta funkcja wyświetli czas systemowy lub
/* dziś zaczynam swoją przygodę z PHP */
(dla komentarzy dłuższych niż jedna linia).
StałePrzechowują dane, które nie będą
modyfikowane podczas pracy programu.
Definiuje się je za pomocą funkcji define()define().
Ćwiczenie 2.Ćwiczenie 2.
<?define (”POLE”,200); // nazwa: POLE, wartosc: 200
printf (”Pole wynosi: ”.POLE.”cm”);
?>
Pamiętaj!!!Pamiętaj!!! O wielkości liter w zdefiniowanych stałych.
Zapisz plik w nowym katalogu jako index.phpindex.php
Zastosowania instrukcji printfprintf i echoecho
<?
printf (”Witaj na kursie <b>PHP</b>”);
?>
lub
<?
echo (”Witaj na kursie <b>PHP</b>”);
?>
Obie instrukcje przetwarzają tekst i wyświetlają ten sam efekt.
ZmienneZmienneZmienneZmienne są jednym z najważniejszych elementów
języka programowania. Umożliwiają przechowywa-nie danych w pamięci komputera i wykonywanie na nich różnego rodzaju operacji.
Zmienne są przechowywane przez nazwę poprzedzo-ną znakiem $, np.
$nazwisko, $z, $imie_i_nazwisko, $X21, itp..
Typy zmiennejTypy zmiennejReprezentuje typ danych, jakie będzie ona
przechowywać i automatycznie jest dostosowywany do jej wartości. Od typu zależy też ile będzie zajmować miejsca w pamięci.
Typy zmiennychTypy zmiennych• integer – przechowuje liczby całkowite, np. 33;• double – przechowuje liczby rzeczywiste, np. 7,45;• string - przechowuje ciągi znakowe, np. tekst;• array – tablice (zmienne wielokrotne);• boolean – zmienne logiczne o wartości TRUE lub
FALSE.
Przykłady wykorzystania zmiennychPrzykłady wykorzystania zmiennych
<?
$y=0.55;
$x=10;
$z=$x+$y;
printf (”zmienna z ma wartość: $z”);
?>
Sekwencje unikowe
\n – przejście do nowej linii (tylko w źródle),
\r – powrót karetki do nowej linii,
\t – odpowiednik klawisza Tab (tabulacja),
\\ - wyświetla znak \,
\* - wyświetla znak *,
\$ - wyświetla znak $.
Podstawowe operatory arytmetyczne w PHPPodstawowe operatory arytmetyczne w PHP
+ (dodawanie) $x+$y Suma $x i $y
- (odejmowanie) $x-$y Różnica $x i $y
* (mnożenie) $x*$y Iloczyn $x i $y
/ (dzielenie) $x/$y Iloraz $x i $y
% (modulo) $x%$y Reszta z dzielenia $x i $y
Operatory arytmetyczne w PHPOperatory arytmetyczne w PHPZadanie 6.Zadanie 6.
<?
$x=4;
$y=3;
$a=$x-$y*2;printf (”Efektem działania jest liczba: $a.”);
printf (”PHP wie jaka jest kolejność wykonywania działań”);
?>
Zapisz jako zadanie006.php i przetestuj skrypt.
Kolejność wykonywania działań w PHPKolejność wykonywania działań w PHP
Zadanie 7.Zadanie 7.
<?
$x=5;
$y=10;
$a=($x+$y)*2;
$b=$x+$y*2;
$c=$y/$x*2;
$d=$y-$x*2+$y;
printf (”Zmienne a, b, c, d: $a, $b, $c, $d”);
?>
Zapisz jako zadanie007.php i przetestuj skrypt.
Inne operatory przypisania w PHPInne operatory przypisania w PHP
$x += liczba – zwiększenie wartości zmiennej $x o liczba;
$x -= liczba – zmniejszenie wartości zmiennej $x o liczba;
$x *= liczba – mnożenie wartości zmiennej $x o liczba;
$x /= liczba – dzielenie wartości zmiennej $x o liczba;
Są one stosowane w celu uproszczenia budowy skryptów
Zadanie 8.Zadanie 8.
Napisz skrypt obrazujący działanie wymienionych operatorów przypisania. Pokaż efekt jego działania.
Przykład skryptu – operatory przypisaniaPrzykład skryptu – operatory przypisania
<?$a=$b4=$c=$d=4;/* W jednej linii można umieścić jedno lub kilka przypisań. */$a+=2;$b-=3;$c*=2;$d/=3;printf ("Wartość \$a wynosi:<font color=blue> $a</font><br>");printf ("Wartość \$b wynosi:<font color=red> $b</font><br>");printf ("Wartość \$c wynosi:<font color=green> $c</font><br>");printf ("Wartość \$d wynosi:<font color=silver> $d</font>");?>
Operator ciągu – łączenia łańcucha znakówOperator ciągu – łączenia łańcucha znaków
Zadanie 8.Zadanie 8.<?$lancuch1=”Koń”;$lancuch2=”ciągnie”;$lancuch3=”wóz”;$zdanie=$lancuch1.$lancuch2.$lancuch3;printf (”Powstało zdanie: $zdanie”);?>Zapisz i przetestuj skrypt.Zapisz i przetestuj skrypt.
Wykonaj teraz Wykonaj teraz Ćwiczenie 1.4 str. 20 Ćwiczenie 1.4 str. 20 podręcznika.podręcznika.
Skrypt wyświetla datę systemowąSkrypt wyświetla datę systemową
<?
$data=date("d-m-Y");
?>
PAMIĘTAJ !!!PAMIĘTAJ !!! Coś praktycznego na stronkę Coś praktycznego na stronkę
TabliceTablice<?php
$tablica[0]="Polska";
$tablica[1]="Niemcy";
$tablica[2]="Czechy";
$tablica[3]="Francja";
printf("Nowi członkowie Unii Europejskiej to: ".$tablica[0]." i ".$tablica[2]);
printf(" a starzy trutnie to: ".$tablica[1]." i ".$tablica[3]);
?>
Zapisz jako zadanie009.php i przetestuj skrypt.
<html><head></head><body bgcolor=silver><?php $x="Renata"; $y="Beger"; $z="$x $y";
$tablica[1]="Darek"; $tablica[2]="Marek"; $tablica[3]="Ewa"; $tablica[4]="Ola"; $i=5; $tablica[$i]="Ania";
printf("<b>$z i jej czworo dzieci:</b><br>"); printf("$tablica[1]<br> $tablica[2]<br>"); printf("$tablica[3]<br> $tablica[4]<br>"); printf("$tablica[5]<br>");?></body></html> Zapisz jako zadanie010.phpzadanie010.php i przetestuj skrypt
<?php $x="Renata"; $y="Beger"; $z="$x $y";
$tablica[1]="Darek"; $tablica[2]="Marek"; $tablica[3]="Ewa"; $tablica[4]="Ola"; $i=5; $tablica[$i]="Ania";
printf("<b>$z i jej czworo dzieci:</b><br>"); printf("$tablica[1]<br> $tablica[2]<br>"); printf("$tablica[3]<br> $tablica[4]<br>"); printf("$tablica[5]<br>");
$x="Janek"; $y="Wiśniewski"; printf("<br> Zmienna \$z ma wartość: $z");?> Zapisz skrypt jako zadanie011.php i przetestuj skrypt
Operatory Inkrementacji i DekrementacjiPHP obsługuje te operatory w stylu języka C.
Przykład Nazwa Opis
++$a Pre-inkrementacjaNajpierw zwiększa
wartość $a o jeden, potem zwraca $a.
$a++ Post-inkrementacjaNajpierw zwraca $a,
potem zwiększa $a o jeden.
--$a Pre-dekrementacjaNajpierw zmniejsza
wartość $a o jeden, potem zwraca $a.
$a-- Post-dekrementacjaNajpierw zwraca $a,
potem zmniejsza $a o jeden.
<?php echo "<h3>Post-inkrementacja</h3>"; $a = 5; echo "Powinno być 5: " . $a++ . "<br />\n"; echo "Powinno być 6: " . $a . "<br />\n"; echo "<h3>Pre-inkrementacja</h3>"; $a = 5; echo "Powinno być 6: " . ++$a . "<br />\n"; echo "Powinno być 6: " . $a . "<br />\n"; echo "<h3>Post-dekrementacja</h3>"; $a = 5; echo "Powinno być 5: " . $a-- . "<br />\n"; echo "Powinno być 4: " . $a . "<br />\n"; echo "<h3>Pre-dekrementacja</h3>"; $a = 5; echo "Powinno być 4: " . --$a . "<br />\n"; echo "Powinno być 4: " . $a . "<br />\n"; ?>
Operatory przypisaniaOperatory przypisaniaOperator Opis
=Liczba stojąca po lewej stronie operatora przyjmuje wartość liczby stojącej po prawej stronie operatora
+=Liczba stojąca po lewej stronie operatora przyjmuje wartość będącą sumą jej samej i liczby stojącej po prawej stronie operatora
-=Liczba stojąca po lewej stronie operatora przyjmuje wartość będącą różnicą jej samej i liczby stojącej po prawej stronie operatora
*=Liczba stojąca po lewej stronie operatora przyjmuje wartość będącą iloczynem jej samej i liczby stojącej po prawej stronie operatora
/=Liczba stojąca po lewej stronie operatora przyjmuje wartość będącą ilorazem jej samej i liczby stojącej po prawej stronie operatora
%=Liczba stojąca po lewej stronie operatora przyjmuje wartość będącą resztą z dzielenia (modulo) jej samej i liczby stojącej po prawej stronie operatora
Operatory przypisaniaOperatory przypisaniaPrzykład:
<?$a = 5;echo($a); // zmienna $a ma wartość 5
$a += 3;echo($a); // zmienna $a ma wartość 8
$a -= 1;echo($a); // zmienna $a ma wartość 7
$a *= 4;echo($a); // zmienna $a ma wartość 28
$a /= 2;echo($a); // zmienna $a ma wartość 14
$a %= 3;echo($a); // zmienna $a ma wartość 2?>
Przykład
Powyższy przykład zwraca:
58728142
elseif / else if<HTML><HEAD></HEAD><BODY bgcolor=#CCCFCC><H2>Instrukcje warunkowe</H2> <?php
$a=$b=10;$a++; $b--; //postinkrementacja i postdekrementacjaif ($a>$b) //pierwszy warunek
{ echo ("a jest większe niż b"); //jeśli spełniony wykonuje kod } elseif ($a==$b) //drugi warunek { echo ("a jest równe b"); //jeśli spełniony wykonuje kod } else //w przeciwnym przypadku wykonuje poniższą linijkę { echo ("a jest mniejsze niż b"); } ?></BODY></HTML>
Instrukcje warunkoweswitchInstrukcja switch jest podobna do serii instrukcji if z warunkiem na to samo
wyrażenie. W wielu przypadkach istnieje potrzeba porównania jednej zmiennej (lub wyrażenia) z wieloma różnymi wartościami i wykonania różnych fragmentów kodu, w zależności od wyniku porównania tej zmiennej z różnymi wartościami. Do tego właśnie służy instrukcja switch.
Poniżej znajdują się dwa przykłady wykonujące dokładnie to samo, przy czym jeden z nich wykorzystuje serię instrukcji if, zaś drugi używa instrukcji switch:
$i==0;switch ($i) { case 0: print "i jest równe 0"; break; case 1: print "i jest równe 1"; break; case 2: print "i jest równe 2"; break;}
if ($i == 0) { print "i jest równe 0";} elseif ($i == 1) { print "i jest równe 1";} elseif ($i == 2) { print "i jest równe 2";}
cd. switch• W tym przypadku, jeśli $i jest równe 0, to PHP wykona
wszystkie trzy instrukcje print. Jeśli natomiast będzie równe jeden - wtedy tylko dwie ostatnie. Zachowanie zgodne z oczekiwaniami będzie wtedy, kiedy $i będzie równe 2 - wtedy wykonane będzie tylko ostatnia instrukcja print. Trzeba zatem pamiętać o umieszczaniu na końcu instrukcji break, chyba że planuje się wykorzystać jakieś specjalne możliwości instrukcji switch, o czym dalej.
• W instrukcji switch wartość wyrażenia jest obliczana tylko raz, a następnie jest porównywana z każdym z wyrażeń przy etykiecie case. Natomiast w instrukcji elseif wartość wyrażenia jest obliczana ponownie. Dlatego, jeśli twoje wyrażenie jest bardziej skomplikowane od zwykłego porównania, lub znajduje się w zwartej pętli (tight loop), switch może być szybszy.