Język PHP

35
Język PHP Język PHP Wprowadzenie

description

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. - PowerPoint PPT Presentation

Transcript of Język PHP

Page 1: Język PHP

Język PHPJęzyk PHP

Wprowadzenie

Page 2: Język PHP

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.

Page 3: Język PHP

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.

Page 4: Język PHP

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.

Page 5: Język PHP

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,

Page 6: Język PHP

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.

Page 7: Język PHP

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>

Page 8: Język PHP

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

Page 9: Język PHP

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,

Page 10: Język PHP

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.

Page 11: Język PHP

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).

Page 12: Język PHP

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

Page 13: Język 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.

Page 14: Język PHP

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

Page 15: Język PHP

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.

Page 16: Język PHP

Przykłady wykorzystania zmiennychPrzykłady wykorzystania zmiennych

<?

$y=0.55;

$x=10;

$z=$x+$y;

printf (”zmienna z ma wartość: $z”);

?>

Page 17: Język PHP

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 $.

Page 18: Język PHP

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

Page 19: Język PHP

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.

Page 20: Język PHP

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.

Page 21: Język PHP

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.

Page 22: Język PHP

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>");?>

Page 23: Język PHP

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.

Page 24: Język PHP

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ę

Page 25: Język PHP

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.

Page 26: Język PHP

<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

Page 27: Język PHP

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

Page 28: Język PHP

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.

Page 29: Język PHP

<?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"; ?>

Page 30: Język PHP

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

Page 31: Język PHP

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

Page 32: Język PHP

Przykład

Powyższy przykład zwraca:

58728142

Page 33: Język PHP

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>

Page 34: Język PHP

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";}

Page 35: Język PHP

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.