Lekcja 1.2 - Podstawy PHP

Istnieje kilka różnych typów znaczników ograniczającyh obszar skryptu PHP w dokumentach, między innymi można użyć identycznej metody jak dla skryptów JavaScript wpisując php jako wartość atrybutu language, my będziemy stosowali następującą parę znaczników:

<?php
. . . . . .
?>


Wewnątrz ograniczników kodu mozna umieszczać dowolną liczbę instrukcji. Istnieją instrukcje jednowierszowe i wielowierszowe. Instrukcje jednowierszowe muszą kończyć się średnikiem o ile nie jest to ostatnia instrukcja przed znacznikiem zamykającym. Generalna zasada stanowi, że dowolna instrukcja nie jest zakończona do momentu wystąpienia średnika. Znaki podziału wiersza występujące wewnątrz instrukcji są ignorowane.


Stanowi to zasadniczą różnicę w stosunku do JavaScript gdzie znaki podziału wiersza działają tak jak średniki i nie można ich wstawiać przed zakończeniem instrukcji. W PHP brak średnika oznacza, że instrukcja nie została jeszcze zakończona i może być kontynuowana w następnym wierszu. Jest w tym pewien paradoks, ponieważ instrukcje jednowierszowe mogą być umieszczane w kilku wierszach.
Oto przykład:   ( Instrukcja echo() służy do wypisania dowolnego tekstu lub liczb. )

<?php
echo(7*5);
echo("Witaj na lekcji PHP");
?>
Zapis poniżej jest również prawidłowy.
<?php
echo(7
*
5); echo(
"Witaj na lekcji PHP") ;
?>




Instrukcje wielowierszowe składają się z instrukcji sterujących (kontrolnych ) i bloków kodu ujętych w nawiasy klamrowe podobnie jak w JavaScript. Instrukcje tego typu nie wymagają średnika na końcu instrukcji, natomiast średnik jest wymagany na końcu każdej instrukcji wchodzącej w skład bloku. Przykład poniżej.

<?php
    if (5>2)
    {
    echo(7*5);
    echo("Witaj na lekcji PHP");
    }
?>




Instrukcje wielowierszowe w PHP posiadają jeszcze jedną interesującą właściwość. Możliwe jest mianowicie wyjście z trybu PHP pod warunkiem jednak, że nastąpi potem powrót do tego trybu i dokończenie kodu. Przykład:

<?php
    if (5>2)
    {
    echo(7*5);
?>

To jest tekst nie należący do kodu PHP. Znajduje się on jednak w bloku kodu ograniczonym nawiasami klamrowymi i będzie wypisany tylko wtedy gdy blok będzie wykonywany. (gdy warunek instrukcji będzie spełniony.)

<?php
    echo("Witaj na lekcji PHP");
    }
?>


Jak widać na powyższym przykładzie w przypadku instrukcji wielowierszowych blok kodu PHP można rozdzielić na części działające jednak razem i mogące wpływać na partię dokumentu znajdującego się między nimi i będącą np. fragmentem dokumentu HTML. Zwiększa to dodatkowo możliwości PHP.

Komentarze W PHP istnieje kilka sposobów wstawiania komentarzy. Podobnie jak w JavaScript, komentarz wierszowy może rozpoczynać się podwójnym ukośnikiem (slash) //. To samo można uzyskać wstawiając znak krzyżyka #. Podobnie jak w JavaScript komentarze wielowierszowe uzyskuje się za pomocą znaków /*       */.

Typy danych
Bezpośrednią wartość danej nazywamy literałem. W języku PHP rozróżniamy literały tekstowe (napisy, znaki i łańcuchy znaków), literały liczbowe (całkowite i dziesiętne) oraz literały logiczne (true i false).
Napisy, czyli łańcuchy znaków (strings) można przedstawiać w cudzysłowach, apostrofach oraz w postaci dokumentów osadzonych.

PHP przetwarza teks ujęty w cudzysłowy poszukując specjalnych sekwencji znaków. Poszukuje nazw zmiennych i zastępuje je ich wartościami. Poszukuje także specjalnych sekwencji znaków rozpoczynają się znakiem odwróconego ukośnika (backslash) i wstawia odpowiednie znaki specjalne im odpowiadające.
przetworzony w ten sposób tekst staje się zrozumiały dla przeglądarki. Oto typy znaków specjalnych:

\n Znak końca wiersza

\r Znak powrotu karetki

\t Znak tabulacji

\\ Znak ukośnika

\$ Znak dolara

\" Znak cudzysłowu

  
\óóóKod znaku ASCII gdzie: ó - cyfra ósemkowa

\xhhKod znaku ASCII gdzie: h - cyfra szestnastkowa



Wynik działania znaków specjalnych będzie widoczny w kodzie ¼ródłowym dokumentu HTML jaki zostanie w konsekwencji przesłany do przeglądarki i ułatwi ewentualne przejrzenie tego kodu. Aby jednak np. efekt nowego wiersza był widoczny na stronie WWW musimy oczywiście użyć tradycyjnego znacznika HTML to znaczy <BR>

Jeśli znakami ograniczającymi tekst są apostrofy jedynymi interpretowanymi znakami specjalnymi są \' oraz zastępowane odpowiednio znakiem apostrofu i odwróconego ukośnika.


Pokażemy teraz metodę umieszczania w napisie większego bloku sformatowanego tekstu zamiast stosowania instrukcji echo()

$tekstOsadzony =<<<IdentyfikatorOgraniczenia
Tutaj może występować tekst w postaci
wielu wierszy
Cały ten tekst będzie przypisany zmiennej
o nazwie tekstOsadzony
Koniec tekstu zaznaczony jest
przez identyfikator ograniczający
IdentyfikatorOgraniczenia



Literały liczbowe
Mogą to być liczby całkowite lub dziesiętne. Liczby całkowite można przedstawiać w jako dziesiętne, ósemkowe i szestnastkowe. Liczby ósemkowe powinny być poprzedzone zerem 0, a szestnastkowe Ox

Literały logiczne
to słowa kluczowe true i false oznaczające odpowiednio prawdę i fałsz. Można je pisać zarówno małymi jak i dużymi literami.


Zmienne
Podobnie jak w innych językach programowania \, zmienne to pojemniki na dane. Zmienne posiadają nazwy aby można się było do nich odwoływać. Nazwa zmiennej rozpoczyna się znakiem dolara, który w PHP w ten sposób ją identyfikuje. Pozostała część nazwy powinna zaczynać się literą i zawierać jedynie kombinację liter i cyfr oraz znaków podkreślnika i myślnika. Inne znaki są niedopuszczalne. Przykład:

$z
$cenaProduktu
$predkosc_wiatru_w_kilometrach_na_godzine
$Pensja-Kowalskiego

    W nazwach zmiennych można stosować jedynie
podstawowe litery alfabetu łacińskiego
(bez ogonków).

Wielkość liter jest rozróżniana !




Podobnie jak w JavaScript, w PHP nie ma obowiązku deklarowania zmiennej, ani wskazania jej konkretnego typu. W trakcie programu zmienna może przechowywać rozmaite typy danych, a jej powołanie do życia może odbywać się przez proste przypisanie wartości. Zmienna istnieje aż do momentu kiedy program skończy swoje działanie, to znaczy w przypadku skryptu generujacego stronę WWW, aż do zakończenia realizacji wywołania strony.
Przykłady:

$z = 23.5
$cenaProduktu = 1.2 * $cenaProdukcji
$powitanie = "Witajcie na lekcji PHP"



Użyjemy teraz zmiennych do pokazania w jaki sposób PHP podstawia ich wartości w napisach. Jeśli napis zawiera się w cudzysłowach PHP przegląda je w poszukiwaniu zmiennych i jeśli je znajdzie zamienia je na odpowiadające im wartości.
Przykład:
<?php
$powitanie = "Witajcie na lekcji PHP";
echo ($powitanie);
echo (" Nasze powitanie brzmi: \" $powitanie \" Zauważ jak wprowadziliśmy cudzysłowy.")
?>






A oto inny przykład:

<?php
$powitanie = "Witajcie na lekcji PHP";
$zdanie = " $powitanie, czy wszystko rozumiecie?";
echo ($zdanie)
?>






Zmienne w PHP posiadają jeszcze jedną ciekawą właściwość. Otóż nazwa zmiennej sama może być wartością innej zmiennej lub wyrażeniem zwracającym odpowiednią wartość.
Przykład:

<?php
$a = "pensja";
$pensja = 800;
$moja_pensja =1500;

$m=${"moja_$a"};
$p = $$a;
echo ("$p <BR> $m ");
?>




Stałe
Stałe działają podobnie jak zmienne z tą różnicą, że ich wartości nie da się zmieniać. Tworzymy je za pomocą funkcji define():

<?php
define("DATA_IMIENIN") = "12 listopada";
echo (DATA_IMIENIN);
?>

  Istnieje niepisana konwencja,
aby nazwy stałych pisać dużymi literami.
Ale nazwy ich mogą być w PHP dowolne