www.eprace.edu.pl » budynek-inteligentny » Opis technologii » Charakterystyka PHP

Charakterystyka PHP

Podstawowa składnia.

Fragment kodu, który ma zastać zinterpretowany jako skrypt PHP można zaznaczyć na 4 sposoby:
1. <? skrypt ?>
2. <?php skrypt ?>
3. <script language="php"> skrypt </script>
4. <% skrypt %>

Kod PHP można dowolnie przeplatać ze znacznikami HTML :.

<table><tr><td>
<?php echo "Prosty skrypt"; ?>

</td></tr></table>
W miejscu gdzie zostanie wstawiony ten skrypt pojawi się napis „Prosty skrypt”. Ten skrypt składa się tylko z jednej instrukcji.

Każda instrukcja w PHP kończona jest średnikiem.

Komentarze
Komentarz to wstawiany w skrypcie tekst, który nie jest brany pod uwagę przez interpreter. Komentarze głównie służą do opisywania jakichś bardziej złożonych operacji lub funkcji i są szczególnie przydatne przy pisaniu długich i złożonych skryptów, które mają np.po kilkaset lub więcej linii kodu, żeby w miarę łatwo było odszukiwać to, co chcemy. Komentarze w skryptach PHP mogą być typu blokowego np.

<?php
for ($i=0;$i<3;$i++) echo $i;
/* To jest tekst blokowy który nie będzie brany pod uwagę podczas interpretacji

Możemy wpisywac więcej linii

I jeszcze więcej….*/

?>

,lub typu pojedynczego np.

<?php
for ($i=0;$i<3;$i++) echo $i;
//teraz możemy pisac ile chcemy ale tylko w jednej linii bez zalamywania jej

//i znowu…

// to jest

Blad //

?>

Zmienne, stałe i tablice.

!!! Nazwy zmiennych zawsze zaczynają się od znaku $.

Nadając zmiennej wartość, jednocześnie ją deklarujemy i definiujemy

(w językach wysokiego poziomu najpierw musimy zadeklarować np. int a,b,suma; potem zdefiniować a=5; b=-53; suma=a+b;)

Aby stworzyć zmienną wystarczy nadać jej jakąś wartość, np:

$temperatura=7; $i=10.53; $ok=0.55 - zmienne liczbowe

$alert="UWAGA!"; $x=”23321”; - zmienne tekstowe

$a=TRUE; $b=FALSE - zmienne typu boolean

$i=NULL; - zmienna nie zawiera nic a jest :)

Stałe tworzymy w następujący sposób :

DEFINE(‘temperatura’,15);

DEFINE(‘jedynka’,1);

DEFINE(‘dwojka’,’dwa’);

Wywołujemy je następująco:

echo $temperatura; echo jedynka; echo $alert; echo dwojka; echo $b

Jak widać, różnica miedzy stała a zmienna jest tego typu że zmienne wywoływane są ze znakiem „$” a stałe bez oraz, że zmienne można dowolnie modyfikować w trakcie programu a stałe nie.

Tablice (array)

Tablica w PHP jest obecnie uporządkowaną mapą. Mapa jest typem, który przyporządkowuje wartości do kluczy. Typ ten jest optymalizowany na wiele sposobów, więc można go używać jako typową tablicę, albo listę (wektorową), tablicę asocjacyjną (która jest jedną z implementacji mapy), słownik, kolekcję, stos, kolejkę, i temu podobne. Ponieważ wartością tablicy może być inna tablica PHP, można także łatwo symulować drzewa.

$a = array( 'kolor' => 'czerowny'

, 'smak' => 'słodki'

, 'kształt' => 'okrągły'

, 'nazwa' => 'jabłko'

, 4 // kluczem będzie 0

);

$a['kolor'] = 'czerwony';

$a['smak'] = 'słodki';

$a['kształt'] = 'okrągły';

$a['nazwa'] = 'jabłko';

$a[] = 4; // kluczem będzie 0

$b[] = 'a';

$b[] = 'b';

$b[] = 'c';

znaczy to samo co: array( 0 => 'a' , 1 => 'b' , 2 => 'c' ), albo prościej: array('a', 'b', 'c')

Wyrażenia i operatory.

Postinkrementacja:

$x=0;$tmp=3;

$x++; $tmp--;

$X wynosi 0, $tmp wynosi 3

Preinkrementacja:

$x=0;$tmp=3;

++$x; --$tmp;

$X wynosi 1, $tmp wynosi 2

Przypisanie:

$a=5;
$b=$a+2; // $b ma wartość 7
$b=$b+3; // teraz, $b ma wartość 10
$b+=3; // tak samo jak $b=$b+3
$c=2*$a+3*($b-$a);

$a=$b=34234342;

Porównania:

$a==$b – spełnione, gdy $a i $b są równe.

$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

$a<>$b lub $a!=$b – spełnione, gdy $a jest różne $b

Operatory logiczne:

$a or $b lub $a || $b – spełnione, gdy zachodzi $a lub $b

$a and $b lub $a && $b – spełnione, gdy zachodzi $a i $b

Operatory znakowe:

. – operator znakowy

$a = "Witaj";$b = $a . "Świecie!"; // teraz $b zawiera ciąg "Witaj Świecie!"

$a = "Witaj ";$a .= "Świecie!"; // teraz $a zawiera ciąg "Witaj Świecie!"

Struktury kontrolne.

if

Pozwala na wyodrębnienie fragmentu kodu, który zostanie wykonany pod określonym warunkiem.

if (warunek)

wyrażenie

if ($a > $b)

print "a jest większe niż b";

if ($a > $b) {

print "a jest większe niż b";

$b = $a;

}

elseif

Instrukcja elseif, jak sama jej nazwa wskazuje, stanowi połączenie instrukcji if i else. Podobnie jak else rozszerza instrukcję if do sytuacji, kiedy wyrażenie logiczne stojące przy if ma wartość FALSE. Jednakże w przeciwieństwie do typowej instrukcji else, kod objęty tą instrukcją będzie wykonany, jeśli wyrażenie logiczne stojące przy tej instrukcji będzie miało wartość TRUE.

if ($a > $b) {

print "a większe od b";

} elseif ($a == $b) {

print "a jest równe b";

} else {

print "a mniejsze od b";

}

else

Często potrzeba wykonać jedną instrukcję programu, gdy pewien warunek jest spełniony, lub inną inną, gdy ten sam warunek nie jest spełniony. Służy do tego instrukcja else. else rozszerza możliwości instrukcji if do sytuacji kiedy warunek opisany przy instrukcji if ma wartość FALSE.

if ($a > $b) {

print "a jest większe niż b";

} else {

print "a NIE jest większe niż b";

}

while

Znaczenie instrukcji while jest bardzo proste. Nakazuje ona PHP tyle razy wykonywać określone instrukcje, jak długo wyrażenie przy słowie while ma wartość TRUE. Wartość tego wyrażenia jest sprawdzana za każdym razem na początku wykonywania nowej iteracji pętli, więc jeśli jego wartość zmieni się w trakcie wykonywania instrukcji, wykonanie całej pętli nie skończy się do momentu zakończenia całej iteracji. Jedna iteracja jest to jednokrotne wykonanie wszystkich instrukcji w pętli. Jeśli wyrażenie logiczne ma wartość FALSE już na samym początku, instrukcje wewnątrz pętli nie będą w ogóle wykonane.

while (wyrażenie) { instrukcja lub instrukcje }

Przykład:

$i = 1;

while ($i <= 10) {

print $i++; // zmienna $i będzie inkrementowana po wyświetleniu

}

do..while

Pętla do..while zachowuje się bardzo podobnie do pętli while, z wyjątkiem tego, że wartość wyrażenia logicznego sprawdzana jest na końcu iteracji, a nie na początku. Wynikającą z tego główną różnicą jest to, że pierwsza iteracja w pętli do..while na pewno zostanie wykonana (gdyż wyrażenie logiczne będzie sprawdzone dopiero na koniec iteracji). Natomiast w pętli while, gdzie wyrażenie logiczne jest sprawdzane na początku iteracji, może dojść do sytuacji, że pętla w ogóle nie zostanie wykonana, jeśli to wyrażenie będzie miało wartość FALSE od początku.

do {

instrukcje;

} while (warunek);

Przykład:

$i=0;

do {

echo $i++;

if($i==5) echo „polowa petli”;

} while($i<=10);

For

for (wyrażenie1; wyrażenie2; wyrażenie3) instrukcje

Przykład:

for ($i = 1; $i <= 10; $i++) {

print $i;

}

Foreach

foreach(tablica as $wartość) wyrażenie

foreach(tablica as $klucz => $wartość) wyrażenie

Przykład:

foreach ($tabl as $wartość) {

echo "Wartość: $wartość<br>\n";

}

foreach ($tabl as $klucz => $wartość) {

echo "Klucz: $klucz; Wartość: $wartość<br>\n";

}

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.

if ($i == 0) {

print "i jest równe 0";

}

if ($i == 1) {

print "i jest równe 1";

}

if ($i == 2) {

print "i jest równe 2";

}

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;

}

Funkcje i klasy.

Funkcje.

Funkcja może być zdefiniowana używając składni takiej jak poniższa:

function nazwa_funkcji ($arg_1, $arg_2, ..., $arg_n)

{

echo "Przykładowa funkcja.\n";

return $zmienna;

}

Przykład :

function dodaj ($a,$b)

{

$wynik = $a + $b;

return $wynik;

}

$wynik = dodaj(4,6);

echo $wynik;

//wykonanie powyższego kodu wyświetli wartość 10

Klasy.

Klasa jest to zbiór zmiennych i funkcji operujących na tych zmiennych. Do definicji klasy używana jest następująca składnia:

<?php

class Koszyk

{

var $zakupy = array();

function dodaj_produkt ($produkt, $ile)

{

$this->zakupy[$produkt] += $ile;

}

function pokaz_ile ($produkt)

{

if ($this->zakupy[$produkt]) {

return $this->zakupy[$produkt];

} else {

return false;

}

}

}

?>

Obiekty.

Obiekt to inaczej powoływana do życia kopia wybranej klasy. Np.

$kosz = new koszyk;
$kosz -> dodaj_produkt($piwo,333);

$kosz -> pokaz_ile($piwo);



komentarze

Copyright © 2008-2010 EPrace oraz autorzy prac.