PHP a fost conceput in anul 1994 de Rasmus Lerdorf. El folosea versiuni personale de PHP ca sa monitorizeze cine ii vizita pagina sa personala.
Prima versiune de PHP care putea fi folosita de toata lumea a fost disponibila in anul 1995 si a fost cunoscuta sub numele de Personal Home Page Tools. Aceasta consta dintr-un parser foarte simplu care recunostea cateva macro-uri si un numar limitat de utilitati care erau folosite pe paginile personale la acea vreme (cum ar fi guestbook, counter).
Parserul de PHP a fost rescris la jumatatea anului 1995 si s-a numit PHP/FI Version 2. FI vine Form Interpreter, un alt pachet pe care Rasmus l-a scris pentru interpretarea formelor HTML. El a combinat scripturile din Personal Home Page Tools cu Form Interpretor si a adaugat suport pentru mSQL si astfel a aparut PHP/FI. PHP/FI s-a raspandit foarte repede si a devenit foarte popular, deoarece multi programatori au contribuit cu cod la perfectionarea lui.
Sunt greu de dat niste statistici exacte, dar 535b16f se estimeaza ca la sfarsitul anului 1996 PHP/FI era folosit de aproximativ 15.000 de site-uri web din toata lumea. Pe la mijlocul anului 1997 numarul acestora a crescut la 50.000.
Tot in anul 1997 s-a observat o schimbare in dezvoltarea PHP-ului.
PHP nu mai era proiectul propriu al lui Rasmus, ci era rezultatul eforturilor unei echipe de programatori, deoarece la perfectionarea lui contribuisera multi programatori.
Parserul a fost rescris de Zeev Surasky si Andi Gutmans si noul parser a format bazele PHP Version 3. Mare parte din codul PHP/FI a fost portat in PHP3 si alta parte de cod a fost complet rescrisa.
Ultima versiune, PHP4, foloseste motorul de script Zend ca sa ofere performante mai mari, suporta mult mai multe biblioteci si extensii, si ruleaza ca un modul natural server-ului de web.
Ce este PHP?
PHP (oficial “PHP: Hypertext Preprocesor”) este un limbaj de script HTML integrat de tip server-side, deci codul se executa pe server.
Este diferit de scripturile CGI scrise in alte limbaje ca Perl sau C++, in care se scrie mult cod pentru a genera HTML, deoarece se scrie script HTML cu cod de PHP incorporat. Codul PHP este incadrat de tag-uri speciale care ne permit sa intram sau sa iesim din modul PHP.
Ce face PHP?
La o privire de ansamblu, PHP poate sa faca tot ceea ce fac alte programe CGI, cum ar fi: culegerea de date, generare dinamica de cuprinsuri pentru pagini, trimite si primeste cookie-uri.
Probabil cea mai puternica si cea mai importanta caracteristica a PHP este suportul pentru o gama cat mai larga de baze de date. Cu PHP este foarte simplu de citit din baze de date si de scris in baze de date.
PHP suporta urmatoarele tipuri de baze de date: AdabasD, dBase, Empress, FilePro, HyperWave, IBM DB2, Informix, Ingres, InterBase, Frontbase, mSQl, Direct MS-SQL, MySQL, ODBC, Oracle, Ovrimos, PostgreSQL, Solid, Sysbase, Velocis, UNIX dbm.
PHP prezinta suport, de asemenea, si pentru alte servicii de retea folosind protocoale cum ar fi: IMAP, SNMP, NNTP, POP3, HTTP si altele mai putin importante. Se pot deschide noduri brute de comunicatie in retea care interactioneaza folosind alte protocoale de comunicatie.
Sintaxa limbajului
Cand PHP incepe sa interpreteze un fisier, el doar o sa afiseze textul pe care il intalneste. Asa ca daca avem un fisier cu extensie .html si schimbam extensia in .php fisierul o sa fie corect interpretat in continuare.
Daca dorim sa introducem declaratii PHP la un anumit punct din fisier, trebuie sa indicam intrarea in “modul PHP”. Aceasta se face prin mai multe metode:
<? echo ('this is the simplest, an SGML processing instructionn'); ?>
<?= expression ?> This is a shortcut for '<? echo expression ?>'
<?php echo('if you want to serve XHTML or XML documents, do like thisn'); ?>
<script language='php'>
echo ('some editors (like FrontPage) don't
like processing instructions');
</script>
<% echo ('You may optionally use ASP-style tags'); %>
<%= $variable; # This is a shortcut for '<%echo ..' %>
PHP permite si folosirea unor structuri mai avansate:
<?php
if ( boolean-expression )
else
Separarea instructiunilor se face la fel ca in Perl sau in C, terminand fiecare declaratie cu caracterul ;.
Tag-ul de inchidere implica de asemenea sfarsitul unei declaratii, deci urmatoarele doua expresii sunt echivalente:
1. <?php echo 'This is a test'; ?>
2. <?php echo 'This is a test' ?>
Comentariile sunt la fel ca in C si ca in UNIX, folosind secventele speciale // sau /* .. */.
Tipuri de date
PHP suporta 8 tipuri de baza:
Patru tipuri scalare
boolean
integer
floating-point number
string
Doua tipuri compuse
array
object
Doua tipuri speciale
resource
null
Tipul boolean
Este cel mai simplu tip variabila. O expresie booleana exprima o valoare de adevar. Poate fi adevarata sau falsa.
Pentru a specifica valoarea unei variabile booleene se foloseste TRUE sau FALSE.
Nota: Tipul boolean a fost introdus in PHP4.
Exemplu: $foo = True; // atribuie valoarea TRUE variabilei $foo
Tipul integer
O variabila de tip integer este un numar intreg cu semn.
Variabilele de tip intreg pot fi specificate in zecimal, in hexazecimal sau in octal, optional putand fi precedate de semn (+ sau -).
Daca se foloseste notatia in octal numarul trebuie precedat de 0, iar daca se foloseste notatia in hexazecimal numarul trebuie precedat de 0x.
Exemple:
$a = 1234; # numar zecimal
$a = -123; # numar negativ
$a = 0123; # numar octal (echivalentul lui 83 zecimal)
$a = 0x1A; # numar hexazecimal (echivalentul lui 26 zecimal)
Tipul floating-point number
Numerele de tip floatin-point pot fi specificate in felul urmator:
$a = 1.234; $a = 1.2e3; $a = 7E-10;
Sirurile de caractere pot fi specificate folosind unul sau doua seturi de caractere speciale.
Daca sirul este inchis intre ghilimele (“”), atunci variabilele vor fi expandate. Ca si in C si Perl caracterul backslash (“”) poate fi folosit pentru a specifica caractere speciale. Variabilele de acest tip pot fi convertite.
Al doilea mod de reprezentare a sirurilor este prin inchiderea lui intre apostrofuri (“’”). Cand sirul este reprezentat in acest fel singurele secvente speciale care pot fi interpretate sunt “” si “’”. Variabilele nu sunt expandate cand sirurile sunt reprezentate in acest mod.
Alt mod reprezentare este folosind sintaxa here doc (“<<<<”). Aceasta trebuie sa fie precedat de un identificator inainte de <<<<, dupa aceea sirul de caractere si la sfarsit identificatorul.
Exemplu:
<?php
$str = <<<EOD
Example of string
spanning multiple lines
using heredoc syntax.
EOD;
/* More complex example, with variables. */
class foo
$foo = new foo();
$name = 'MyName';
echo <<<EOT
My name is '$name'. I am printing some $foo->foo.
Now, I am printing some .
This should print a capital 'A': x41
EOT;
?>
Sirurile de caractere pot fi concatenate folosind caracterul “.”.
Exemple:
<?php
/* Assigning a string. */
$str = 'This is a string';
/* Appending to it. */
$str = $str . ' with some more text';
/* Another way to append, includes an escaped newline. */
$str .= ' and a newline at the end.n';
/* This string will end up being '<p>Number: 9</p>' */
$num = 9;
$str = '<p>Number: $num</p>';
/* This one will be '<p>Number: $num</p>' */
$num = 9;
$str = '<p>Number: $num</p>';
/* Get the first character of a string */
$str = 'This is a test.';
$first = $str[0];
/* Get the last character of a string. */
$str = 'This is still a test.';
$last = $str[strlen($str)-1];
?>
Tipul array
Tipul array in PHP este de fapt o harta ordonata. O harta este un tip care atribuie valori la index. Acest tip este optimizat pentru mai multe reprezentari, astfel ca poate fi un vector, o lista, o colectie, un dictionar, o stiva, o coada sau altceva.
Un index poate fi o variabila integer nenegativa sau string.
array( [key =>] value
)
// key este un integer nenegativ sau un string
// value poate fi orice
O varibila de tip array se poate modifica specificand explicit valorile.
$arr[key] = value;
$arr[] = value;
Tipul object
Pentru a initializa un obiect, se foloseste declaratia new pentru a atribui o instanta a obiectului unei variabile.
Exemplu:
<?php
class foo
$bar = new foo;
$bar->do_foo();
?>
Tipul resource
Tipul resource este o variabila speciala, folosita pentru a referi o alta variabila resource externa. Variabilele resource sunt create cu functii speciale.
Nota: Tipul resource a fost introdus in PHP4.
Datorita sistemului de numarare a referintelor introdus de PHP4 cu motorul Zend, se detecteaza automat cand o resursa nu mai este folosita.
Tipul Null
Valoarea speciala Null reprezinta o variabila care nu are nici o valoare.
Nota: Tipul resource a fost introdus in PHP4.
Exemplu:
$var = Null;
Variabile
Generalitati
Variabilele in PHP sunt reprezentate prin semnul $ urmat de numele variabilei. Numele variabilelor respecta aceleasi reguli ca si alte etichete in PHP. Un nume valid de variabila incepe cu o litera sau cu _, urmata de un numar oarecare de litere, cifre sau _.
Variabilelor li se pot atribui valori explicit.
Exemplu:
<?php
$foo = 'Bob'; // Assign the value 'Bob' to $foo
$bar = &$foo; // Reference $foo via $bar.
$bar = 'My name is $bar'; // Alter $bar
echo $foo; // $foo is altered too.
echo $bar;
?>
|