Geoinformacja w sieciach komputerowych

Ćwiczenie 2 - Podstawy PHP

PHP  Składnia i sposoby wstawiania  Zadanie 3  Zmienne  Zadanie 4  Operatory  Zadanie 5  Instrukcja IF 

PHP

PHP czyli "PHP: Hypertext Preprocessor" jest językiem skryptowym mającym zastosowanie przede wszystkim w aplikacjach sieciowych, między innymi z uwagi na łatwość integracji z dokumentami HTML. Charakteryzuje się ponadto dość łatwą do przyswojenia składnią. Nalezy pamiętać, iż PHP jest językiem wykonywanym po stronie serwera, zatem wszytkie poniższe ćwiczenie muszą zostać umieszczone na stronie będącej w katalogu dostępnym sieciowo.

Podczas zajęć omówione zostaną jedynie podstawowe polecenia i sposoby zastososowania. Więcej informacji można znaleźć na poniższych stronach:

Składnia i sposoby wstawiania na stronie

O tym, iż dana strona zawiera elementy kodu PHP serwer informowany jest poprzez rozszerzenie nazwy pliku - *.php. W takim wypadku, zanim zostaną zinterpretowane znaczniki html, dokument przechodzi przez analizator składniowy (parser) i wszystkie skrypty PHP są w odpowiedniej kolejności wykonywane. W rezultacie, użytkownik końcowy otrzymuje stronę zawierająca jedynie html.

Najbardziej poprawnym sposobem umieszczania skryptu na stronie jest następujący:

<?php Tutaj znajduje się kod ?>

	czyli np.

<?php print ("Dzień dobry!"); ?>

Powyższy kod po interpretacji przez parser spowoduje wyświetlenie na stronie tekstu zawartego w cudzysłowiu. Należy zwrócić uwagę na zastosowanie cudzysłowu oraz średnika (";") jako znaku zakańczającego każdą instrukcję.

W skryptach php możliwe jest wstawianie komentarzy, w dodatku są na to aż trzy sposoby:

<?php print ("Dzień dobry!"); ?> // komentarz obejmujący jedną linię kodu znany z C

<?php print ("Dzień dobry!"); ?> # jak wyżej, z tym że pochodzący z powłoki UNIXA

<?php print ("Dzień dobry!"); ?> /* możliwe są też komentarze w wielu linijkach 
jak na przykład ten tekst */


ZADANIE 3. Korzystając z powyższych informacji umieść na stronie za pomocą kodu PHP nagłówek o dowolnej treści, wraz z komentarzem.

Zmienne

W PHP zmienne (czyli identyfikatory z przypisaną wartością) oznaczane są za pomocą znaku "$" a definiuje się je w bardzo prosty sposób:

$przyklad="Lorem ipsum"; 

// zmienna $przyklad przechowuje  ciąg znaków "Lorem ipsum"

$przykladowa_liczba=12; // zmienna liczbowa o wartości 12

$przyklad="$przykladowa_liczba; 

// od tej chwili $przyklad to zmienna liczbowa o wartości 12

Jak widać z powyższego przykładu w PHP nie jest konieczna deklaracja typu zmiennej (string, integer, array itd.) wraz z jej wartością, gdyż jest to ustalane automatycznie. Oczywiście istnieje możliwość wymuszenia typu zmiennej. Można też korzystać z tzw. zmiennych predefiniowanych przechowujących między innymi wartości systemowe, przykładowo $PHP_SELF to ścieżka dostępu do aktualnie wykonywanego pliku php.

UWAGA: przy deklaracji i używaniu zmiennych należy zwrócić uwagę na różnice między cudzosłowiem (") a apostrofem ('). W kodzie zawartym pomiędzy tym pierwszym nazwy zmiennych zamieniane sa na ich wartości, co nie ma miejsca w wypadku apostrofów.

ZADANIE 4. Zmień kod strony taka by nagłówek utworzony w poprzednim zadaniu wyświetlony został przy pomocy zmiennej.

Operatory

Znając już podstawowy sposób deklaracji zmiennych warto poznać sposoby ich użycia. Do operacji na zmiennych służą, jak sama nazwa wskazuje - operatory. Poniżej podstawowe ich typy wykorzystywane na zajęciach. I tak mając dwie zmienne $a i $b możemy wykonac następujące operacje:

operatory arytmetyczne
znane i lubiane,:
$c=$a + $b; //dodawanie 

$c=$a - $b; //odejmowanie
 
$c=$a * $b; //mnożenie 

$c=$a / $b; //dzielenie
 
$c=$a % $b; //modulo, reszta z dzielenia

$c=$a++;    //inkrementacja, $c=$a+1

$c=$a--;    //dekrementacja, $c=$a-1    
operatory przypisania
jak sama nazwa wskazuje przypisują zmiennym wartości:
$c =  $b;   //proste przypisanie wartości 

$c += $b;  //do zmiennej $c dodana zostanie wartość $b, czyli $c=$c+$b  
 
$c -= $b;  //j.w., od zmiennej $c odjęta zostanie wartość $b

$c .= $b;  //na końcu zmiennej $c zostanie dopisany ciąg dalszy w postaci 

           // zmiennej $b. To samo można uzyskać stosując sam 
                  
           // znak konkatenacji czyli kropkę - "."

  
operatory porównania
są niezbędnym składnikiem wszelkiego typu instrukcji warunkowych:
$c ==  $b; //Prawda, jeśli obie wartości są równe 

$c != $b;  //Prawda, jeśli obie wartości nie są takie same

$c > $b;  //Prawda, jeśli $c jest większe niż $b  

$c <= $b;  //Prawda, jeśli $c jest mniejsze lub równe $b  
  
operatory logiczne
również częsty składnik warunków:
$c==1 && $b==2; //Prawda tylko jeśli $c=1 i $b=2 

$c==1 || $b==2; //Prawda jeśli $c=1 lub $b=2 

$c    !    $b;  //Prawda tylko jeśli wartości $c i $b są różne.


  

ZADANIE 5. Mając do dyspozycji następujące wartości zmiennych:
$a - ilość osób na zajęciach,
$b - ilość stanowisk komputerowych,
$c - ilość osób w danej grupie,
$e - ilość osób na roku,
zapisz następujące zdania:

1. "Dzisiaj na zajęcia przyszło X osób."

2. "Skoro obecnych jest X procent studentów, oznacza to, iż brakuje X osób."

3. "Zakładając, iż w sali znajduje się X komputerów a rok podzielony jest na trzy grupy, jaka jest optymalna liczba studentów na grupę?"

Instrukcja warunkowa IF

Podstawą jezyka oprogramowania są instrukcje warunkowe. Składnia takiej instrukcji w języku PHP jest bardzo prosta"

if (warunek) // warunek to porównanie zmiennych, może być rozbudowane za pomocą 
             // funkcji logicznych i nawiasów
{
blok poleceń //zestaw instrukcji wykonywanych przy prawdziwości warunku
}
else
{
blok poleceń //wykonywane w przypadku nie spełnienia warunku
}

Instrukcje If mogą być wielopoziomowo zagnieżdzone.Można też rozbudować warunek wykorzystując dodatkowe polecenia "else if"

ZADANIE 6. Zapisz za pomocą instrukcji warunkowej, korzystając z już ustalonych zmiennych, następujące zdanie (przy czym nie musi być on zacytowane dosłownie):

Jeśli cały rok można podzielić na trzy równe grupy to liczba osób w każdej wynosi X. W przeciwnym wypadku grupy liczą po X studentów a pozostałe X osób należy rozdzielić pomiędzy nie w równych proporcjach.

Autor: Michał Rzeszewski, Instytut Geokologii i Geoinformacji, UAM Poznań, mail: mrzeszewski@gmail.com
Creative Commons License
Ten utwór jest dostępny na licencji Creative Commons Uznanie autorstwa-Użycie niekomercyjne-Na tych samych warunkach 2.5 Polska.