PHP
este un
limbaj de programare
. Numele PHP provine din
limba englez?
?i este un acronim recursiv :
P
hp:
H
ypertext
P
reprocessor. Folosit ini?ial pentru a produce pagini web dinamice, este folosit pe scar? larg? in dezvoltarea paginilor ?i aplica?iilor
web
. Se folose?te in principal inglobat in codul
HTML
, dar incepand de la versiunea 4.3.0 se poate folosi ?i in mod ?linie de comand?” (
CLI
), permi?and crearea de aplica?ii independente. Este unul din cele mai importante limbaje de programare web
[11]
open-source
?i
server-side
, existand versiuni disponibile pentru majoritatea
web serverelor
?i pentru toate sistemele de operare. Conform statisticilor este instalat pe 20 de milioane de site-uri web ?i pe 1 milion de
servere web
[12]
. Este disponibil sub Licen?a PHP ?i Free Software Foundation il consider? a fi un software liber.
Ini?ial, limbajul a fost dezvoltat de inventatorul s?u,
Rasmus Lerdorf
. Odat? cu cre?terea num?rului de utilizatori, dezvoltarea a fost preluat? de o nou? entitate, numit?
The PHP Group
(Grupul PHP).
PHP
insemna ini?ial
Personal Home Page
.
[13]
PHP a fost inceput in
1994
ca o extensie a limbajului server-side
Perl
, ?i apoi ca o serie de
CGI
-uri compilate de c?tre
Rasmus Lerdorf
, pentru a genera un curriculum vitae ?i pentru a urm?ri num?rul de vizitatori ai unui site. Apoi a evoluat in PHP/FI 2.0, dar proiectul open-source a inceput s? ia amploare dup? ce
Zeev Suraski
?i
Andi Gutmans
, de la
Technion
au lansat o nou? versiune a interpretorului PHP in vara anului
1998
, aceast? versiune primind numele de PHP 3.0. Tot ei au schimbat ?i numele in acronimul recursiv de acum, pan? atunci PHP fiind cunoscut ca
P
ersonal
H
ome
P
age Tools. Apoi Suraski ?i Gutmans au rescris baza limbajului, producand astfel ?i
Zend Engine
in
1999
. In mai
2000
a fost lansat PHP 4.0, avand la baz? Zend Engine 1.0.
Pe
13 iulie
2004
a fost lansat PHP 5, cu Zend Engine II, ce a adus ?i o orientare obiect mai pronun?at? ?i suportand mai multe caracteristici ale acestui tip de programare.
PHP 5 aduce mai multe nout??i fa?? de versiunea 4:
- Suport imbun?t??it pentru
OOP
- Introduce extensia
PDO
- PHP Data Objects, care define?te o modalitate facil? ?i consistent? de accesare a diferitelor baze de date
- Imbun?t??iri de performan??
- Suport imbun?t??it pentru
MySQL
?i
MSSQL
- Suport nativ pentru
SQLite
- Suport
SOAP
integrat
- Iteratori pentru date
- Controlul erorilor prin tratarea de excep?ii
La sfar?itul lui 2007 doar versiunea 5.x mai era intre?inut?, deoarece in data de
13 iulie
2007
(exact la 3 ani dup? lansarea PHP5), PHP Group a anun?at c? PHP4 va fi scos din uz pe
31 decembrie
2007
, de?i prognozeaz? c? anumite upgrade-uri de securitate se vor oferi pan? pe
8 august
2008
.
[14]
. Dezvoltarea la PHP 6 incepuse deja in decembrie 2007 ?i urmeaz? s? fie oferit odat? cu scoaterea din uz a PHP4.
PHP 6
[15]
are urm?toarea agend? de imbun?t??iri ?i modific?ri:
- imbun?t??irea suportului pentru
Unicode
- retragerea definitiv? a unor func?ii ca
register_globals
?i
magic_quotes
, ?i a variabilelor tip
$HTTP_*_VARS
- var
va fi un alias pentru
public
, ?i folosirea lui va ridica o aten?ionare E_STRICT.
- suport pentru int pe 64 bi?i.
- taguri tip ASP sunt retrase definitiv.
- XMLReader, XMLWriter, Fileinfo vor face parte din distribu?ia principal?
- urm?toarele pachete au fost scoase din distribu?ia principal?: Freetype1, GD1, mime_magic
- func?ia ereg() nu mai este disponibil?
- instan?ierea obiectelor prin referin?? (& new Obiect()) genereaz? o eroare E_STRICT.
- erorile tip E_STRICT sunt incluse in E_ALL.
- ad?ugarea instruc?iunii
goto
permite salturi la un alt bloc de comenzi.
- namespace
,
import
, ?i
goto
devin cuvinte rezervate.
- accesarea caracterelor intr-un ?ir (string) se face prin operatorul []. {} se scoate din uz ( ex: $str[42] func?ioneaz?, $str{42} nu func?ioneaz?)
- constantele FILE_BINARY ?i FILE_TEXT devin disponibile pentru folosirea in func?ii de citire/scriere fi?iere
- foreach va suporta array multi dimensional: foreach($a as $b => list($c, $d))
- pentru operatorul ternar expresia pentru valoarea
true
nu mai este obligatorie ($a = $s ?: ‘b’; // returns $a = $s;)
- op?iunea safe_mode a fost inl?turat?.
- operatorul
and
a fost inl?turat.
- func?ia microtime() returneaz? un float.
- zend.ze1_compatibility_mode a fost inl?turat.
Sursa:
http://php.net/supported-versions.php
Key
Culoare
|
Tipul versiunii
|
Development
|
Rosu
|
Versiune veche
|
Nu mai este dezvoltata
|
Galben
|
Versiune stabila
|
Remedieri de securitate
|
Verde
|
Versiune stabila
|
Remedieri erori si probleme de securitate
|
Albastru
|
Versiune viitoare
|
Func?ii noi
|
Versiune
|
Data lansare
|
Support pana
|
Note
|
1.0
|
1995-06-08
|
|
Nume oficial "Personal Home Page Tools (PHP Tools)". Aceasta este prima folosire a numelui "PHP".
|
2.0
|
1997-11-01
|
|
Nume oficial "PHP/FI 2.0".
|
3.0
|
1998-06-06
|
2000-10-20
|
|
4.0
|
2000-05-22
|
2001-06-23
|
|
4.1
|
2001-12-10
|
2002-03-12
|
|
4.2
|
2002-04-22
|
2002-09-06
|
|
4.3
|
2002-12-27
|
2005-03-31
|
|
4.4
|
2005-07-11
|
2008-08-07
|
|
5.0
|
2004-07-13
|
2005-09-05
|
|
5.1
|
2005-11-24
|
2006-08-24
|
|
5.2
|
2006-11-02
|
2011-01-06
|
|
5.3
|
2009-06-30
|
2014-08-14
|
|
5.4
|
2012-03-01
|
2015-09-03
|
|
5.5
|
2013-06-20
|
Iunie 2016
|
|
5.6
|
2014-08-28
|
August 2017
|
|
6.x
|
Nu a fost lansat
|
N/A
|
Versiune abandonata a PHP care pl?nuia s? includ? suport nativ Unicode support.
|
7.0
|
2015-12-03
[16]
|
3 ani dup? lansare
|
|
7.1
|
2016
|
3 ani dup? lansare
|
|
LAMP
cuprinde PHP
PHP-ul este unul din cele mai folosite limbaje de programare server-side, conform unui studiu efectuat de
Netcraft
in
aprilie
2002
, ap?rand pe 9 din cele 37 milioane de domenii cercetate in studiu. De asemenea, exist? un grafic al cre?terii folosirii PHP-ului pe
site-ul oficial
. Popularitatea de care se bucur? acest
limbaj de programare
se datoreaz? urm?toarelor caracteristici :
- Familiaritatea
: sintaxa limbajului este foarte u?oar? combinand sintaxele unora din cele mai populare limbaje
Perl
sau
C
;
- Simplitatea
: sintaxa limbajului este destul de liber?. Nu este nevoie de includere de biblioteci sau de directive de compilare, codul PHP inclus intr-un document executandu-se intre marcajele speciale;
- Eficien?a
: PHP-ul se folose?te de mecanisme de alocare a resurselor, foarte necesare unui mediu multiutilizator, a?a cum este web-ul;
- Securitate
: PHP-ul pune la dispozi?ia programatorului un set flexibil ?i eficient de m?suri de siguran??;
- Flexibilitate
: fiind ap?rut din necesitatea dezvolt?rii web-ului, PHP a fost modularizat pentru a ?ine pasul cu dezvoltarea diferitelor tehnologii. Nefiind legat de un anumit server web, PHP-ul a fost integrat pentru numeroasele
servere web
existente:
Apache
,
IIS
,
Zeus, server
etc.;
- Gratuitate
: este probabil cea mai important? caracteristic? a PHP-ului. Dezvoltarea PHP-ului sub licen?a
open-source
a determinat adaptarea rapid? a PHP-ului la nevoile web-ului, eficientizarea ?i securizarea codului.
PHP este simplu de utilizat, fiind un
limbaj de programare structurat
, ca ?i
C-ul
,
Perl
-ul sau incepand de la versiunea 5 chiar
Java
, sintaxa limbajului fiind o combina?ie a celor trei. Datorit? modularit??ii sale poate fi folosit ?i pentru a dezvolta aplica?ii de sine st?t?toare, de exemplu in combina?ie cu
PHP-GTK
sau poate fi folosit ca
Perl
sau
Python
in linia de comand?. Probabil una din cele mai importante facilit??i ale limbajului este conlucrarea cu majoritatea
bazelor de date rela?ionale
, de la
MySQL
?i pan? la
Oracle
, trecand prin
MS Sql Server
,
PostgreSQL
, sau
DB2
.
PHP
poate rula pe majoritatea sistemelor de operare, de la
UNIX
,
Windows
, sau
Mac OS X
?i poate interac?iona cu majoritatea
serverelor web
. Codul dumneavoastr? PHP este interpretat de serverul WEB ?i genereaz? un cod
HTML
care va fi v?zut de utilizator (clientului -browserului- fiindu-i transmis numai cod HTML).
Arhitectura tip
LAMP
a devenit popular? in industria web ca modalitate rapid?, gratuit? ?i integrat? de dezvoltare a aplica?iilor. Al?turi de Linux, Apache ?i Mysql, PHP reprezint? litera P, de?i uneori aceasta se refer? la
Python
sau
Perl
. Linux ocup? rolul de sistem de operare pentru toate celelalte aplica?ii, MySQL gestioneaz? bazele de date, Apache are rol de server web, iar PHP are rol de interpretator ?i comunicator intre acestea.
PHP folose?te extensii specifice pentru fi?ierele sale: .php, .php3, .ph3, .php4, .inc, .phtml. Aceste fi?iere sunt interpretate de c?tre serverul web iar rezultatul este trimis in form? de text sau cod HTML c?tre browser-ul clientului.
[17]
- Boolean
- valori logice tip adev?rat sau false, similare cu cele din C++ sau Perl.
- Integer
- numere intregi (in baza 10, 2 sau 16). Valoarea maxim? depinde de sistem ?i de tipul de integer. Tipul poate fi "signed" (?cu semn”) sau "unsigned" (?f?r? semn”), adic? dependent de semnul + sau − sau independent de acestea. Valorile pentru integer unsigned sunt mai mari decat cele pentru signed. Sistemele pe 32 bits pot crea numere intregi cu semn intre -2147483648 ?i 2147483647 ( 2^31-1 ). Maximul pentru sisteme pe 64 bits este 9223372036854775807.
- Float
- cunoscute ca numere reale. Valorile maxime sunt de asemenea dependente de platform?, in general cu un maxim de ~1.8e308 cu o precizie de 16 zecimale dup? virgul? (formatul 64 bits IEEE).
- String
- ?iruri de caractere. Inainte de PHP6, un caracter era echivalent cu un byte. Nu exist? limit?ri pentru lungimea unui ?ir, in afara memoriei alocate PHP.
- Array
- in PHP un array este un tip de data care con?ine un grup de elemente. Fiecare element are un indice intern in grup, iar fiec?rui indice ii corespunde o valoare - elementul in sine. Un astfel de grup poate fi folosit ca o simulare pentru diverse situa?ii matematice precum vectori, serii, dic?ionare de elemente, liste ordonate, matrici sau matrici de matrici. Indicii ?i valorile unui grup pot fi orice tip de data interna PHP (cu excep?ii: obiectele, resursele ?i
null
nu pot fi indici).
- Obiecte
- O clasa este o colec?ie de propriet??i ?i func?ii avand o logic? comun?. Obiectele sunt instan?e ale unei clase, in care propriet??ile obiectului primesc valori specifice. Vezi
POO
- programarea orientat? pe obiecte.
- Resurse
- acestea sunt variabile speciale care con?in leg?turi cu resurse externe PHP. De exemplu, conexiunea cu o baz? de date este o resursa deschis? ?i men?inut? cu ajutorul unor func?ii special definite pentru aceasta munc?.
- NULL
- este un tip special de dat?, care semnific? c? variabila respectiv? nu a fost definit? ?i c? nu are valoare sau valoarea e necunoscut?.
PHP are sute de func?ii incorporate ?i alte cateva mii disponibile prin intermediul extensiilor
[18]
.
In aceste versiuni func?iile nu sunt obiecte de prima clas?. Aceasta inseamn? c? func?iile nu pot fi create dinamic in timpul execut?rii programului ?i c? pot fi chemate doar prin numele dat cand au fost definite. Utilizatorul poate crea func?ii in orice moment in program. In acest exemplu cuvantul cheie
function
define?te func?ia cu numele
adauga
care prime?te un num?r de 2 parametri de intrare ?i returneaz? suma acestora.
function
adauga
(
$x
,
$y
)
{
return
$x
+
$y
;
}
echo
adauga
(
2
,
4
);
// returneaz? 6
PHP are suport pentru func?ii de rangul intai ?i pentru func?ii anonime, precum cele folosite in
Javascript
.
function
getAdder
(
$x
)
{
return
function
(
$y
)
use
(
$x
)
{
// or: lexical $x;
return
$x
+
$y
;
};
}
Pentru mai multe detalii:
Lamda functions and closures RFC
.
Func?ionalit??i bazice de
programare orientat? pe obiecte
au fost ad?ugate in PHP 3. In PHP 3 ?i 4 obiectele erau tratate ca un tip de dat? bazic, insemnand c? de fiecare dat? cand o variabil? era asignat? sau folosit? intr-o func?ie tot obiectul era copiat. Felul in care obiectele sunt tratate a fost complet rescris in PHP 5 iar acum obiectele sunt referen?iate printr-un vector intern ?i nu dup? valoarea pe care o au. PHP 5 a introdus metode private ?i protejate, clase abstracte, constructori ?i destructori, func?ionalit??i similare cu cele din alte limbaje de programare care folosesc paradigma
OOP
, precum
C++
.
Afi?area mesajului clasic "
Hello world
" folosind
programare orientat? pe obiecte
:
<?php
Class
Hello
{
function
hello
()
{
return
"Hello world"
;
}
}
$world
=
new
Hello
();
echo
$world
->
hello
();
?>
Clasicul program
hello-world
in PHP:
<?php
echo
"Salut lume!"
;
?>
Sintaxa de mai sus este simplificat? de programatorii avansa?i astfel:
$GLOBALS
- pot fi accesate toate variabilele globale care sunt accesibile script-ului PHP curent; acest vector este indexat chiar prin numele variabilelor globale. Aceast? variabil? superglobal? este accesibil? incepand cu versiunea 3.0.0
$_SERVER
- con?ine o serie de variabile ale c?ror valori sunt setate de server-ul web; majoritatea valorilor variabilelor din acest vector depind de mediul de execu?ie al script-ului curent. A fost introdus? incepand de la versiunea 4.1.0. In versiunile anterioare se folosea $HTTP_SERVER_VAR .
Este o variabil? care con?ine informa?ii cum ar fi headere, loca?ia scriptului, sau informa?ii despre vizitator ?i browser. Este posibil ca in func?ie de set?rile fiec?rui server ?i browser s? nu fie active toate informa?iile specificate de aceast? variabil?. Aceast? variabil? este de asemenea global?, adic? se poate folosi oriunde in script, f?r? apelarea ei ca func?ie global? (adic? nu trebuie s? o cere?i cu global $_SERVER in func?iile dvs.) In schimb $HTTP_SERVER_VARS con?ine acelea?i informa?ii dar nu este o func?ie global? (aten?ie $HTTP_SERVER_VARS?i $_SERVER sunt dou? variabile diferite, chiar dac? aparent fac acelea?i lucruri) Dac? directiva register_globals este ON atunci aceste variabile vor deveni la randul lor variabile globale in cadrul scriptului. Elementele acestor variabile sunt cele de mai jos (aten?ie: in func?ie de set?rile serverului ?i browserului unele elemente pot lipsi)
' PHP_SELF
' - con?ine numele fi?ierului unde se execut? scriptul curent, relativ la r?dacin? (document root) De exemplu, $_SERVER['PHP_SELF'] intr-un script la adresa
http://example.com/test.php/foo.bar
va fi /test.php/foo.bar . Constanta __FILE__ con?ine toat? calea ?i numele fi?ierului curent.
' argv
' - Un array al argumentului trimis c?tre script. Cand scriptul ruleaz? in linie de comand?, va da acces C-style la parametrii liniei de comanda. Cand este accesat prin metoda GET, acesta va con?ine un sir de interogare.
' argc
' - Con?ine un num?r al parametrilor liniei de comand? trimise c?tre script (daca este rulat in linie de comanda).
' GATEWAY_INTERFACE '
- Returneaz? versiunea CGI utilizat? pe server (exemplu ' CGI/1.1 ').
' SERVER_NAME '
- Numele server-ului de hosting unde se execut? scriptul curent. Dac? scriptul ruleaz? pe un host virtual, aceasta va con?ine valoarea definit? pentru acel host virtual.
' SERVER_SOFTWARE '
- Returneaz? un ?ir de identificare al server-ului dat in header ca r?spuns la cerere.
' SERVER_PROTOCOL '
- Numele ?i versiunea protocolului prin care este cerut? pagina (exemplu ' HTTP/1.0 ')
' REQUEST_METHOD '
- returneaz? metoda utilizat? pentru accesarea paginii (exemplu ' GET ', ' HEAD ', ' POST ', ' PUT ')
' REQUEST_TIME'
- Valoarea timestamp dat? la pornirea cererii. Este valabil? incepind de la versiunea PHP 5.1.0.
' QUERY_STRING '
- ?irul de interogare, dac? este, de la pagina care a fost accesat?.
' DOCUMENT_ROOT '
- Directorul r?d?cin? unde este rulat scriptul curent, a?a cum este definit in fi?ierul de configura?ie al serverului.
' HTTP_ACCEPT '
- Con?inutul header-ului acceptat de la cererea curent?, dac? este unul.
' HTTP_ACCEPT_CHARSET '
- Con?ine setul de caractere acceptate ?i care este trimis de header-ul cererii respective, dac? exist?. Exemplu: ' iso-8859-1,*,utf-8 '.
' HTTP_ACCEPT_ENCODING '
- Con?ine tipul de codare trimis de cererea curent? prin header, dac? exist?.. Exemplu: ' gzip '.
' HTTP_ACCEPT_LANGUAGE '
- Con?ine limbajul trimis de cererea curent? prin header, dac? exista. Exemplu: ' en '.
' HTTP_CONNECTION '
- Con?ine informa?ii despre conexiunea trimis? de cererea curent? prin header, dac? exist?. Exemplu: ' Keep-Alive '.
' HTTP_HOST '
- Con?ine informa?ii despre host, header-ul de la cererea curent?, dac? exist?.
' HTTP_REFERER '
- Adresa paginii (dac? este) de unde a venit userul in pagina curent?. Aceasta este setat? de c?tre browser. Nu toate browserele seteaz? aceast? valoare, ?i chiar unele au posibilitatea de a modifica HTTP_REFERER a?a cum vor. Pe scurt, nu este de incredere.
' HTTP_USER_AGENT '
- Con?ine semn?tura browser-ului trimis? prin header la cererea curent?, dac? exist?. Un exemplu tipic este: Mozilla/4.5 [en] (X11; U; Linux 2.2.9 i586) . In afar? de asta, pute?i utiliza get_browser() pentru a vedea ce capabilit??i are browserul folosit de user ?i astfel s? returna?i pagina specific? pentru acel browser.
' HTTPS '
- Seteaz? o valoare dac? scriptul a fost cerut printr-un protocol securizat HTTPS
' REMOTE_ADDR '
- Adresa de IP a userului care acceseaz? pagina curent?.
' REMOTE_HOST '
- Numele hostului userului care vede pagina curent?. Este inversul DNS-ului userului bazat pe REMOTE_ADDR. Aten?ie: Serverul web trebuie configurat pentru a crea aceast? variabil?. De exemplu in Apache va trebui HostnameLookups On in fi?ierul de configurare httpd.conf. Pentru alte detalii vede?i ?i func?ia gethostbyaddr() .
' REMOTE_PORT '
- Portul prin care userul comunic? cu serverul web.
' SCRIPT_FILENAME '
- Calea absolut? unde se execut? scriptul curent. Aten?ie: Dac? scriptul este rulat cu CLI, ca ?i cale relativ?, cum ar fi file.php sau ../file.php , $_SERVER['SCRIPT_FILENAME'] va con?ine calea relativ? specificat? de c?tre user.
' SERVER_ADMIN '
- Valoarea dat? de directiva SERVER_ADMIN (pentru Apache) in fi?ierul de configurare al web serverului. Dac? scriptul ruleaz? pe un host virtual, acesta va con?ine valoarea definit? pentru acel host virtual.
' SERVER_PORT '
- Portul de pe server care este folosit pentru comunicare pe web. Pentru set?rile standard, acesta este ' 80 '; pentru SSL, de exemplu, se va schimba cu oricare port definit in transmisia securizat? HTTP.
' SERVER_SIGNATURE '
- Con?ine un ?ir care cuprinde versiunea serverului ?i numele hostului virtual dac? este.
' PATH_TRANSLATED ' - Calea de baz? a sistemul de fi?iere (nu r?d?cina documentului) de la scriptul curent, dup? ce serverul a terminat maparea oric?ror cai ( virtual-to-real mapping) Aten?ie: Incepand de la PHP 4.3.2, PATH_TRANSLATED nu mai este setat implicit in Apache 2 SAPI in contrast cu situa?ia din Apache 1, unde este setat? aceea?i valoare ca ?i la SCRIPT_FILENAME. Aceast? schimbare a fost f?cut? pentru a fi compatibil? cu specifica?iile CGI in care PATH_TRANSLATED trebuie s? existe doar dac? PATH_INFO este definit. Utilizatorii Apache 2 pot utiliza AcceptPathInfo = On in fi?ierul de configura?ie httpd.conf pentru a defini PATH_INFO .
' SCRIPT_NAME '
- Con?ine calea c?tre scriptul curent. Acesta este util pentru pagini care trebuiesc definite c?tre ele insu?i. Constanta __FILE__ con?ine calea complet? ?i numele de fi?ier al scriptului curent.
' REQUEST_URI '
- URI care este dat pentru accesarea paginii curente, de exemplu ' /index.html '.
' PHP_AUTH_DIGEST '
- Cand rula?i sub Apache ca modul, ac?iunea Digest HTTP, valoarea acestei variabile este setat? in 'Authorization' header trimis c?tre client (care ar trebui utilizat pentru a face o validare corespunz?toare).
' PHP_AUTH_USER '
- Cand este rulat sub Apache sau IIS (ISAPI pe PHP 5) ca modul, actiunea HTTP authentication, aceast? variabil? con?ine numele userului trimis de c?tre user.
' PHP_AUTH_PW '
- Cand este rulat sub Apache sau IIS (ISAPI pe PHP 5) ca modul, actiunea HTTP authentication, aceast? variabil? con?ine parola userului trimis? de c?tre user.
' AUTH_TYPE '
- Cand este rulat sub Apache ca modul ac?iunea HTTP authenticated , aceast? variabil? seteaz? tipul de autentificare.
$_GET
este o variabil? array global?. A fost introdus? in versiunea 4.1.0. Pentru versiunile anterioare se folose?te $HTTP_GET_VARS care nu este variabil? global?. Pute?i folosi $_GET pentru a trimite variabile cu valori prin intermediul linkurilor.
$_POST
este de asemenea o variabil? array global?. A fost introdusa in versiunea 4.1.0. Pentru versiunile anterioare se folose?te $HTTP_POST_VARS care nu este variabil? global?. Pute?i folosi $_POST pentru a trimite variabile cu valori prin intermediul formularelor.
$_GET
?i
$_POST
con?in variabile primite de script prin intermediul unor transferuri care folosesc metodele HTTP get, respectiv post. De exemplu, prin intermediul acestor vectori pot fi accesate valorile campurilor dintr-un formular care a fost completat ?i transmis folosind una dintre cele doua metode.
$_COOKIE
con?ine valorile variabilelor care con?in informa?ii referitoare la cookie-urile p?strate pe calculatorul utilizatorului care acceseaz? pagina web. A fost introdus in versiunea 4.1.0. In versiunile anterioare, utiliza?i $HTTP_COOKIE_VARS .
Variabile pentru uploadul fi?ierelor.
$_FILES
con?ine variabile primite de script prin intermediul inc?rc?rilor de fi?iere prin metoda post. A fost introdus in versiunea 4.1.0. In versiunile anterioare se folose?te $HTTP_POST_FILES care nu este variabil? global?.
Variabilele de mediu $_ENV.
$_ENV
con?ine variabile disponibile prin intermediul mediului in care este executat. A fost introdus in versiunea 4.1.0. In versiunile anterioare, utiliza?i $HTTP_ENV_VARS.
$_REQUEST
con?ine variabile disponibile prin intermediul oric?rui tip de mecanism cu ajutorul c?ruia utilizatorul poate introduce date. Este de tip array ?i con?ine valorile variabilelor $_GET , $_POST , ?i $_COOKIE. A fost introdus? in versiunea 4.1.0. Incepand de la versiunea 4.3.0, informa?iile din $_FILES au fost de asemenea incluse in $_REQUEST
Variabile de sesiune.
$_SESSION
con?ine variabile care corespund sesiunii curente a script-ului, sub form? de array. A fost introdus? in versiunea 4.1.0 ?i este de asemenea global?. In versiunile anterioare folosi?i $HTTP_SESSION_VARS.
$php_errormsg
- este o variabil? ce con?ine ultimul mesaj generat de c?tre PHP Aceast? variabil? este folosit? in scopul de a vedea ce eroare apare ?i doar dac? op?iunile de configurare a erorilor track_errors este pornita (standard este pe OFF).
PEAR
este un acronim pentru
PHP Extension and Application Repository
, ?i este un set de biblioteci scrise in cod PHP. Proiectul PEAR promoveaz? refolosirea codului prin care se acceseaz? func?ii de baz? comune. Deasemnea PEAR impune un stil de codare standard.
1. Laravel
2. CodeIgniter
3. CakePHP
4. Symfony
5. Zend Framework 2
6. Phalcon
7. Yii
8. Aura
9. Fat-Free
10. PHP-MVC
11. Kohana
12. FuelPHP
13. Slim
PHP are un manual oficial
[19]
intre?inut de comunitatea din jurul proiectului. In plus, r?spunsurile la multe probleme pot fi g?site printr-o simpl? c?utare pe
internet
. Exist? multe resurse
[20]
disponibile pentru un programator PHP incep?tor.
Zend
desf??oar? un program de
certificare
pentru programatori pentru a deveni Inginer Certificat Zend. Examenul este bazat pe PHP versiunea 5.
PHP Romania este comunitatea oficial? de programatori de PHP din Romania. Grupul a fost infiin?at in 2002, ajungand s? cuprind? peste 18.000 de membri inscri?i oficial in 2011. Comunitatea ofer? suport tehnic gratuit tuturor membrilor prin intermediul forumului de discu?ii ?i prin intermediul blogurilor membrilor activi ai comunit??ii.