Programowanie w php wprowadzenie



Pobieranie 75.85 Kb.
Data29.04.2016
Rozmiar75.85 Kb.

PHP

Programowanie w PHP




Wprowadzenie

Komputer jest maszyną sterowaną programem binarnym zapisanym (zawartym) w pamięci operacyjnej.

Symboliczny zapis programu binarnego jest nazywany „językiem maszynowym” lub „asemblerem”.

Program binarny zawiera binarną reprezentację (kodowanie) liczb służących obliczaniu wyrażeń arytmetycznych.

Obliczenia arytmetyczne są podstawą funkcjonowania wszystkich aplikacji komputerów.

Program binarny, realizowany przez komputer, jest zapisem algorytmu pewnego problemu.

Algorytmy są zapisywane w sposób umożliwiający jednoznacznie i w skończonej ilości kroków interpretację problemów. Algorytmy mogą być zapisane formułami matematycznymi, diagramami graficznymi, językami naturalnymi.

Podstawową metodą zapisu algorytmów są języki programowania, które ogólnie dzielą się na języki wysokiego poziomu i niskiego (maszynowe, binarne). Algorytm zapisany w języku programowania jest programem.

Programy w językach wysokiego poziomu (fortran, algol, pascal, C/C++, vhdl i inne) są transformowane (kompilowane, interpretowane) do programów w językach maszynowych (binarnych).

Technologia klient – serwer, stosowana dla transmisji plików w sieci rozległej

Podstawową funkcją sieci rozległej (WAN) jest transmisja plików (w szczególności html).

Serwer plików WWW może wykonywać dodatkowe funkcje – np.: kompilację PHP.

Model transmisji, i kompilacji PHP, w sieci rozległej przedstawia rysunek.




Kod PHP jest wyodrębniany w kodzie HTML za pomocą pary znaczników|:



// znacznik otwierający

// znacznik zamykający php ?>

Gdzie symbol // (dwa ukośniki) definiuje komentarz w kodzie PHP.

Specyfikacja oprogramowania serwera WWW i kompilatora PHP w pracowni komputerowej

Serwerem WWW (plików html i php) jest program APACHE (wersja 1.3.12 - beta, źródło: www.apache.org), zainstalowany w folderze: C:/Program Files/Apache Group/Apache.

Folder zawiera foldery i pliki instalacji APACHE, ważniejsze pliki to:

Apache.exe – aplikacja która uruchamiamy serwer WWW,

CONF, który zawiera plik httpd.conf z parametrami serwera,

HTDOSC, domyślny folder z plikami udostępnianymi przez serwer WWW.
W pliku httpd.conf są parametry pracy serwera WWW, w tym:

DocumentRoot = „C:/Program Files/Apache Group/Apache/Htdocs” , który jest wartością (domyślnej) ścieżki dostępu do plików serwera WWW.

Ten parametr możemy wykorzystać do personalizacji aplikacji APACHE ustawiając wartość ścieżki np.: „H:/WWW” gdzie „H:/” jest zasobem użytkownika (personalnym zasobem).

Kompilator PHP jest instalowany w folderze C:/PHP4. Zmiana foldera kompilatora wymaga zmiany odpowiednich parametrów w pliku httpd.conf.



Uruchomienie i testowanie oprogramowania serwera WWW i kompilatora PHP na stanowiskach w pracowni komputerowej



1. Uruchomić Apache.exe

2. Uruchomić Internet Explorer (IE) i podać adres serwera stron: „localhost”, co powoduje otwarcie pliku index.html, gdy brak tego pliku to następuje otwarcie przeglądu (eksploracji) plików serwera.

Uwaga: w pracowni komputerowej każdy komputer pełni funkcję WWW, za pośrednictwem folderu C:/htdocs

3. Sprawdzić, czy w folderze plików serwera WWW są przykładowe pliki php,

Np.: plik o nazwie test.php, który posiada następująca zawartość:





4. Sprawdzić działanie kompilatora plikiem test.php wpisując do IE: localhost/test.php poprawnie działający kompilator PHP spowoduje wyświetlenie strony informacyjnej.

5. Za pomocą funkcji „pokaż źródło” można sprawdzić kod html utworzony przez kompilator PHP dla funkcji Phpinfo().

Definicje zmiennych i instrukcje języka PHP

Wprowadzenie

Zmienne reprezentują skończone zbiory danych i są argumentami (ogólnie) funkcji.

Formalnie, w matematyce, definiujemy zmienną jako element zbioru np.:

x  N (x należy do zbioru liczb naturalnych)

y  {1,2,3,4} (y należy do skończonego zbioru liczb 1, 2, 3, 4).

Stosowany w matematyce symboliczny zapis, którego elementami są zmienne, operatory i funkcje, służy definiowaniu złożonych wyrażeń np.: z = 2x + 4y.

Języki programowania (wysokiego poziomu) są narzędziami „przekształcenia” stosowanego w matematyce, zapisu symbolicznego w program, który wykonuje komputer. Istotnymi cechami programowania, w porównaniu z zapisem symbolicznym, są skończone zbiory danych oraz konieczność ustalenia jednoznacznych sekwencji (kolejności) obliczeń wyrażeń i funkcji.

Składnia (syntaktyka) języków programowania

Język programowania jest definiowany za pomocą składni i zbioru słów.

Składnia języka jest to skończony zbiór reguł produkcji za pomocą, której są wyprowadzane (definiowane) wszystkie skończone wyrażenia (napisy) w języku programowania.

Zbiór słów jest utworzony za pomocą reguł produkcji nad alfabetem.

Alfabet to zbiór symboli, zwykle zawierający: litery, cyfry, znaki specjalne.

Litery to zbiór zawierający: {a,b,.c....z}.

Cyfry to zbiór zawierający: {0,1,2 ...9}.

Znaki specjalne to zbiór zawierający: {{},[].(),!,@,#,$,$ ...._,-,+,=}


Zbiór słów może być podzielony na podzbiór „słów kluczowych” oraz podzbiór „nazw”.

Podzbiór słów kluczowych (operatorów i słów kluczowych) jest dany definicją języka np.: {$, +, -, &, *, ... if, for, do, while, function }.

Podzbiór nazw jest definiowany regułami produkcji np.: (definicja w zapisie BNF)

::= |

::= {a,b,c,d,....1,2.3,4...9}

Zbiór „słów kluczowych” jest zbiorem rozkazów wykonywanych przez maszynę wirtualną, a „zbiór nazw” jest zbiorem adresów w pamięci maszyny wirtualnej.

Nazwy nadajemy elementom zbiorów danych, aby zastosować je jako argumenty instrukcji języka. Instrukcje są złożone ze „słów kluczowych”.

Struktura języka PHP

Język PHP jest językiem proceduralnym to znaczy, że program w języku PHP jest zbiorem definicji zmiennych (struktur danych) i instrukcji (przypisania, warunkowych, funkcji) interpretowanych przez kompilator w kolejności ich wystąpienia.

Każda definicja i instrukcja musi być zakończona znakiem „średnika”.

Sekwencja definicji i instrukcji, która jest ograniczona znacznikami „początku” i „końca” jest programem lub modułem PHP. Aplikacja może zawierać dowolną ilość modułów PHP.

Przykład programu (modułu) PHP:

$x = „abc” ; // pierwsza instrukcja

echo $x ; // druga instrukcja

?> // znacznik końca modułu PHP

W powyższym przykładzie pierwsza instrukcja powoduje utworzenie i nadanie wartości początkowe zmiennej x; druga instrukcja powoduje wyprowadzenie wartości zmiennej x do interfejsu wyjściowego.

Zbiory danych

Skończone zbiory liczb naturalnych (N) lub rzeczywistych (R) są nazywane zbiorami danych.

Np. N1 = {1,2,3,4,5...100}, R1 = {0.1,0.2,0.3,0.4....0.9}.

W programowaniu są stosowane skończone zbiory danych nazywane typami danych.

W języku PHP4 są cztery podstawowe typy danych:

„integer” – zbiór liczb całkowitych (dodatnich i ujemnych),

„double” – zbiór liczb rzeczywistych (dodatnich i ujemnych),

„boolean” – zbiór liczb logicznych (tylko dwie wartości: {0, 1} lub {true, false},

„string” – zbiór stałych tekstowych uporządkowany w „łańcuch tekstowy”, zbiór stałych tekstowych są to kody (liczby całkowite, dodatnie) przyporządkowane literom alfabetu i znakom specjalnym {a,b,c,....A,B,C.....{},[].(),!,@,#,$,$ ...._,-,+,=}. Łańcuch tekstowy jest zakończony znacznikiem o symbolu \n, interpretowanym jako znak sterujący „powrót linii”.

Elementy ze zbiorów danych są nazywane „stałymi” np.: 1 – liczba jeden; 5.5 liczba „double”; a – stała tekstowa; Abcdef - łańcuch tekstowy.




Definiowanie zmiennych

Zmienna jest definiowana za pomocą operatora $, który jest kontekstowy (zależny od poprzedzających go instrukcji).

Argumentem operatora jest nazwa zmiennej, pierwsze wystąpienie (w zasięgu lokalnym) nazwy zmiennej powoduje jej utworzenie, nadanie wartości początkowej i typu. Operacja nadania wartości początkowej definiuje również typ zmiennej.

Przykłady zastosowania operatora $

$x = 1; // utworzenie zmiennej o nazwie x i nadanie wartości 1 typu „integer”.

$y = $z; // przypisanie wartości NULL zmiennej y, gdyż typ utworzonej zmiennej z nie został określony.

W języku PHP4 można definiować zmienne typu „nieokreślonego” (undefined). Nadanie typu zmiennej następuje, gdy zostanie wykonana operacja przypisania wartości lub jawna funkcja

„settype”.

Przykład dynamicznej definicji zmiennej

$y = „abc”; // utworzenie zmiennej o nazwie y i nadanie wartości „abc” typu „string”.

$$y = „abc”; // utworzenie zmiennej o nazwie abc , typu „string” o wartości  // „abc”
Przykład zmiennej globalnej w języku PHP

echo $_SERVER['DOCUMENT_ROOT'];

// odczytanie wartości predefiniowanej // zmiennej globalnej

Przykłady zastosowań operatora $



$x = „abc” ;

echo $x; // zmienna x jest typu „string”

?>


$x = „abc” ;

echo $x; // zmienna x jest typu „string”

$x = $y; // zmienna y jest typu „undefined”

echo gettype ($y); // NULL

?>




Wyrażenia arytmetyczne

Wyrażenia arytmetyczne są definiowane za pomocą: stałych, zmiennych i operatorów.

Wyróżnić można następujące typy wyrażeń: arytmetyczne (dodawanie, odejmowanie, iloczyn iloraz), literały (konkatencja, cięcie, podstawienia), logiczne (porównanie, identyczność).

Przykłady.

Wyrażenie arytmetyczne:

$x = ((2.5*$y + 6*$z) –16)\2.5; // dla $y, $z równe 1 otrzymujemy: $x = -3;

Wyrażenie literałowe:

$a = abcd.xyz; // operatorem konkatencji jest „kropka”, otrzymujemy: $a = abcdxyz;

Wyrażenia logiczne:

$b = 1 < 2 ; // otrzymujemy $b = 1; (true)

$b1 = $b && (5 = = (10 – 5)); // otrzymujemy $b1 = 1; (true) gdyż operator „&&” jest „iloczynem logicznym” a argumenty „lewy” i „prawy” w tym wyrażeniu są „prawdziwe” (mają wartość 1 lub „true).

Instrukcje warunkowe

Instrukcje warunkowe uzależniają wykonanie następnej instrukcji od wartości stałej logicznej.

Podstawowa definicja instrukcji warunkowej jest następująca:

if () ;

gdzie


jest dowolną stałą, zmienną lub wyrażeniem logicznym;

jest dowolną, poprawna instrukcją w języku PHP4, która jest wykonywana gdy „stała logiczna” jest „prawdziwa” (przyjmuje wartość 1 lub true).
Instrukcja warunkowa posiada równie złożone definicje postaci:

if ()

{ ; // true }



else

{ ; // false }

oraz:

if ()

{ ; // stała_logiczna1 = = true }



elseif ()

{ ; // (stała_logiczna1 = = false) && (stała_logiczna2 = = true) }



else

{ ; // (stała_logiczna1 = = false) && (stała_logiczna2 = = false) }


Analiza przykładów instrukcji warunkowych

// prosta instrukcja warunkowa



if (1 < 2) { echo „ta instrukcja jest wykonana, gdyż wyrażenie 1 < 2 jest prawdziwe”; };

// przykłady obliczeń zmiennych logicznych

// zmienne $warunek1 i $warunek2 muszą być typu boolean (logiczne)

$x = 2;


$warunek1 = 5 > $x; // true

$warunek2 = 10 < $x; // false

// złożone przypadki instrukcji warunkowych

if ($warunek1) { echo „gdy zmienna warunek1 jest prawdziwa”; }

elseif ($warunek2) { echo „gdy warunek2 jest prawdziwa i warunek1 jest fałszywa”; }

else { echo „gdy warunek1 i warunek2 są fałszywe”; }

Przykład instrukcji warunkowej zapisany w schemacie blokowym



Instrukcje iteracyjne

Instrukcja iteracyjna jest to kontrolowana ilość wykonań instrukcji lub bloku instrukcji.

Składnie (uproszczone) dla podstawowych instrukcji iteracji są następujące:

for ( ; ; )

{ ; }


do { ; }

while ()
W instrukcji for kontrola ilości wykonań jest realizowana za pomocą „licznika iteracji” (lub „licznika pętli”). W pierwszym kroku iteracji „licznik iteracji” otrzymuje wartość początkowa; następnie jest testowany „warunek iteracji” oraz wykonywana operacja „zmiany stanu licznika”. Gdy warunek jest „prawdziwy” to wykonywane są „instrukcje iteracji”. Po każdym wykonaniu „instrukcji iteracji” jest testowany „warunek zakończenia” oraz jest wykonywana „instrukcja zmiany stanu”. Gdy „warunek iteracji” jest fałszywy instrukcja iteracji zostaje zakończona i wykonywana jest instrukcja następującą po instrukcji iteracji.
Analiza przykładów instrukcji iteracji

for ($k= 10; $k < 1; $k++)

{ echo „ta instrukcja nie będzie wykonana, gdyż warunek pętli jest „fałszywy”; }


for ($k= 10; $k > 1; $k++)

{ echo „ta instrukcja będzie nieprzerwanie wykonywana, gdyż warunek pętli jest prawdziwy, niezależnie od ilości iteracji”;

print „
”; }
for ($k= 1; $k <10 ; $k++)

{ echo „ta instrukcja będzie wykonana 9 razy aż licznik iteracji przyjmie wartość 10”;

print „
”; }

Przykład zastosowania instrukcji iteracji w sterowaniu rozmiarami obiektu graficznego




for ($i=0; $i < 10; $i++)

{ echo $i;

$w = 30 + $i*6;

$h = 30 + $i*8;

// print "
";

print "";

}

print "
";


$t="___";

for ($i=0; $i < 10; $i++)

{ // echo $i;

$w = 30 + $i*6;

$h = 30 + $i*8;

$t = $t."___";

print "
";

print "$t";

}

?>



Funkcje i procedury

Program jest skończonym zbiorem instrukcji (w języku PHP4), które są wykonywane w kolejności „tekstu” programu – to znaczy instrukcje (zakończone znakiem „średnika”) są „poukładane” od początku tekstu programu do końca. Program zapisany w pliku jest nazywane „modułem”. Program może być zapisany w wielu plikach – „modułach”.

Moduł jest dzielony na mniejsze jednostki nazywane „blokami”. W języku PHP 4 (oraz C, C++) bloki są instrukcjami między dwoma nawiasami „klamrowymi”. Np.:

{ $x = 1; echo ($x); }

Podział programu na bloki nie zmienia kolejności interpretacji instrukcji. Bloki tak jak instrukcje są wykonywane w kolejności „tekstowej”. Bloki są również wykorzystywane w definicjach instrukcji złożonych takich jak „if”, „for”, „while”, „case”.

Głównymi celami podział programu na bloki są:



  • usprawnienie procesu definiowania (pisania) programu, bloki są zwykle wyodrębnionymi, spójnymi implementacjami fragmentów algorytmu programu,

  • umożliwiają sterowanie kolejnością interpretacji bloków, za pomocą definicji procedur i funkcji.

Pierwszy cel obrazuje przykład algorytmu obliczania miejsc zerowych funkcji parabolicznej. Ten przykład algorytmu można podzielić na następujące bloki:

  • wprowadzanie współczynników obliczeń,

  • obliczanie „delty”,

  • (warunkowe) obliczanie miejsc zerowych,

  • wyprowadzanie wyników obliczeń.

Aby utworzyć definicję procedury wyodrębnionemu blokowi programu musi być nadana nazwa. Ta nazwa identyfikuje definicję funkcji lub procedury i podlega takim samym zasadom jak nazwy zmiennej. Składnia (uproszczona) definicji funkcji jest następująca:
function nazwa_funkcji (lista_parametrów_formalnych) // header – nagłówek definicji

{ //



return ; // body – blok definicji

} //
W nagłówku funkcji są podane nazwy zmiennych (lista_parametrów_formalnych), które wystąpią w definicji bloku funkcji.

Instrukcja „return” w definicji funkcji powoduje zakończenie interpretacji definicji i nadanie zmiennej, która jest nazwą funkcji danej . Gdy w definicji bloku nie zostanie użyta instrukcja „return” to taka definicja jest procedurą.

Definicja funkcji jest interpretowana, gdy w programie wystąpi instrukcja „wywołania” funkcji: nazwa_funkcji (lista_parametrów_aktualnych);


W instrukcji „wywołania” funkcji w miejsce parametrów formalnych są wstawiane wartości parametrów, przetwarzane w procesie interpretacji definicji funkcji.
Diagram poniżej przedstawia program podzielony na funkcje i blok instrukcji. Po uruchomieniu programu interpretacja zaczyna się od bloku 3 (!). Następnie „wywołania” funkcji powodują odpowiednio interpretację bloków 1 i 2. Przebieg procesu interpretacji przedstawiają strzałki.

Przykład nr 1. – definicja i sekwencja wywołań funkcji




function printBR( $txt )

{

print ("$txt


\n");

}

printBR("To jest wiersz");



printBR("To jest nowy wiersz");

printBR("A to jeszcze jeden wiersz");

?>
Przykład nr. 2 – wynik zwracany przez nazwę funkcji


function dodajLiczby( $pierwsza, $druga )

{

$wynik = $pierwsza + $druga;



return $wynik;

}

print dodajLiczby(3,5);



//wypisze się "8"

?>
Przykład nr. 3 – zastosowanie zmiennych globalnych w definicji funkcji



$liczba_wywolan = 0;



function kolejnyRaz ( $txt )

{

global $liczba_wywolan;



$liczba_wywolan++;

print "

$liczba_wywolan. $txt

";

}

kolejnyRaz("Diamenty");



print("Mamy do zaoferowania duży zestaw diamentów
");

kolejnyRaz("Rubiny");

print("Najlepsze na świecie rubiny");

?>

Przykład programu “kalkulator arytmetyczny”

Zawartość pliku calculator_form.html






Calculation Form




Value 1:


Value 2:


Calculation:




add


subtract


multiply


divide






©absta.pl 2016
wyślij wiadomość

    Strona główna