350 likes | 540 Views
Język PHP. Wprowadzenie. Wykonanie skryptu. W javascript kod jest pobierany z serwera i wykonywany przez przeglądarkę klienta, mającą wbudowany interpreter danego języka skryptowego.
E N D
Język PHP Wprowadzenie
Wykonanie skryptu W javascript kod jest pobierany z serwera i wykonywany przez przeglądarkę klienta, mającą wbudowany interpreter danego języka skryptowego. W PHP 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? • Przeglądarka internetowa, • Zainstalowany jeden z serwerów WWW, np. Apache, Xitami, IIS, • Zainstalowany interpreter języka PHP (ang. parser) • 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? • Dynamicznie generuje strony WWW, grafikę, pliki .pdf, • Komunikuje się z serwerami zdalnymi różnych usług, zapis i odczyt plików, • Dobra integracja z serwerami baz danych jak MySQL, Sybase, itp. • Obsługuje sklepy internetowe, banki elektroniczne, giełdy, • 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 – interpretera (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 lub .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 PHP • <?php instrukcja skryptu ?> lub w wersji skróconej <? a ?> Wówczas musi być zapisany jako oddzielny plik skryptowy o rozszerzeniu .php lub 2. <SCRIPT language=„php”> Instrukcja skryptu </SCRIPT> lub w kodzie języka HTML 3. <BODY> <?php printf („<B>pierwszy skrypt</B>”); } skrypt PHP ?> </BODY>
Mój pierwszy skrypt PHP Ćwiczenie 1. <?php printf (”<H1><CENTER>To jest mój pierwszy skrypt PHP</H1></CENTER>”); ?> Zapisz plik pod nazwą index.php i umieść w katalogu WWW serwera. printf lub echo– 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,
Identyfikatory To 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 nie oznacza tego co zmienna $Imie.
Słowa kluczowe Nie wolno stosować jako identyfikatory nazw zastrzeżonych, np. nazw funkcji standardowych – printf/echo, define, itp. Komentarze 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łe Przechowują dane, które nie będą modyfikowane podczas pracy programu. Definiuje się je za pomocą funkcji define(). Ćwiczenie 2. <? define (”POLE”,200); // nazwa: POLE, wartosc: 200 printf (”Pole wynosi: ”.POLE.”cm”); ?> Pamiętaj!!! O wielkości liter w zdefiniowanych stałych. Zapisz plik w nowym katalogu jako index.php
Zastosowania instrukcjiprintfiecho <? 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.
Zmienne Zmienne 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 zmiennej Reprezentuje 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 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 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 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 PHP 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 PHP 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 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. Napisz skrypt obrazujący działanie wymienionych operatorów przypisania. Pokaż efekt jego działania.
Przykł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ów Zadanie 8. <? $lancuch1=”Koń”; $lancuch2=”ciągnie”; $lancuch3=”wóz”; $zdanie=$lancuch1.$lancuch2.$lancuch3; printf (”Powstało zdanie: $zdanie”); ?> Zapisz i przetestuj skrypt. Wykonaj teraz Ćwiczenie 1.4 str. 20 podręcznika.
PAMIĘTAJ !!! Coś praktycznego na stronkę Skrypt wyświetla datę systemową <? $data=date("d-m-Y"); ?>
Tablice <?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.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 Dekrementacji PHP obsługuje te operatory w stylu języka C.
Operatory przypisania Przykł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 postdekrementacja if ($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 warunkowe switch Instrukcja 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: 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";} $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;}
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.