Dzisiaj jest czwartek, 04 grudnia 2008 r. 339 dzien roku
Languages:ar | id | bg | ca | ceb | cs | da | de | et | en | es | eo | fr | he | hr | it | ko | lt | hu | nl | ja | no | pl | pt | ru | ro | sk | sl | sr | fi | sv | te | tr | uk | zh






REKLAMA
mp3

PHP

De la Wikipedia, enciclopedia liberă

PHP
PHP
Paradigmă imperativă, programare orientata pe obiecte
Apărut în 1995
Dezvoltat de Rasmus Lerdorf
Developer The PHP Group
Ultima versiune 5.2.6
Ultima versiune în dezvoltare 5.3.0-dev şi 6.0-dev[1]
Tip tipărire dinamică, slaba
Influenţat de C, Perl, Java, C++, C#, Python
OS multi platformă
Licenţă Licenţă PHP
Website http://php.net/


PHP este un limbaj de programare. Numele PHP provine din limba engleză ÅŸi este un acronim recursiv : Php: Hypertext Preprocessor. Folosit iniÅ£ial pentru a produce pagini web dinamice, este folosit pe scară largă în dezvoltarea paginilor ÅŸi aplicaÅ£iilor web. Se foloseÅŸte în principal înglobat în codul HTML, dar începând de la versiunea 4.3.0 se poate folosi ÅŸi în mod 'linie de comanda' (CLI), permiţând crearea de aplicaÅ£ii independente. Este unul din cele mai importante limbaje de programare web open-source ÅŸi server-side, existând versiuni disponibile pentru majoritatea web serverelor ÅŸi pentru toate sistemele de operare. Conform statisticilor este instalat pe 20 de milioane de situri web ÅŸi pe 1 milion de servere web[2]. Este disponibil sub Licená¹­a PHP á¹£i Free Software Foundation îl considerã a fi un software liber.


Cuprins

[modifică] Istoric

PHP a însemnat iniţial Personal Home Page.[3] PHP a fost început în 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 în PHP/FI 2.0, dar proiectul open-source a început să ia amploare după ce Zeev Suraski şi Andi Gutmans, de la Technion au lansat o nouă versiune a interpretorului PHP în vara anului 1998, această versiune primind numele de PHP 3.0. Tot ei au schimbat şi numele în acronimul recursiv de acum, până atunci PHP fiind cunoscut ca Personal Home Page Tools. Apoi Suraski şi Gutmans au rescris baza limbajului, producând astfel şi Zend Engine în 1999. În mai 2000 a fost lansat PHP 4.0, având la bază Zend Engine 1.0.

[modifică] PHP 5

Pe 13 iulie 2004 a fost lansat PHP 5, cu Zend Engine II, ce a adus şi o orientare obiect mai pronunţată şi suportând mai multe caracteristici ale acestui tip de programare.

PHP 5 aduce mai multe noutăţi faţă de versiunea 4:

  • Suport îmbună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 îmbunătăţit pentru MySQL ÅŸi MSSQL
  • Suport nativ pentru SQLite
  • Suport SOAP integrat
  • Iteratori pentru date
  • Control de erori prin tratarea de excepÅ£ii

La sfârşitul lui 2007 doar versiunea 5.x mai era întreţinută, deoarece în 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 până pe 8 august 2008.[4]. Dezvoltarea la PHP 6 începuse deja în decembrie 2007 şi urmează să fie oferit odată cu scoaterea din uz a PHP4.

[modifică] PHP 6

PHP 6[5] are următoarea agendă de îmbunătăţiri:

  • suport pentru Unicode
  • scoaterea definitivă a unor funcÅ£ii ca register_globals sau magic_quotes
  • retragerea definitivă a variabilelor tip $HTTP_*_VARS

[modifică] Popularitate

PHP-ul este unul din cele mai folosite limbaje de programare server-side, conform unui studiu efectuat de Netcraft în aprilie 2002, apărând pe 9 din cele 37 milioane de domenii cercetate în 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ă combinând 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 într-un document executându-se între 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;
  • Securitatea : PHP-ul pune la dispoziÅ£ia programatorului un set flexibil ÅŸi eficient de măsuri de siguranţă;
  • Flexibilitatea : 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.;
  • Gratuitatea : 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.

[modifică] Utilizare

PHP este simplu de utilizat, fiind un limbaj de programare structurat, ca şi C-ul, Perl-ul sau începând 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ătorare, de exemplu în combinaţie cu PHP-GTK sau poate fi folosit ca Perl sau Python în 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 până la Oracle, trecând prin MS Sql Server, PostgreSQL, sau DB2.

PHP poate rula pe majoritatea sistemelor de operare, de la UNIX, Linux, 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ă în 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 unori aceasta se referă la Python sau Perl. Linux ocupă rolul de sistem de operare pentru toate celelalte aplicaţii, Mysql gestionază bazele de date, Apache are rol de server web, iar PHP are rol de interpretator şi comunicator între acestea.

PHP foloseste extensii specifice pentru fişierele sale: .php, .php3, .ph3, .php4, .inc, .phtml. Aceste fişiere sunt interpretate de catre serverul web iar rezultatul este trimis în formă de text sau cod HTML către browser-ul clientului.[6]

[modifică] Tipuri de date interne

  1. Boolean - valori logice tip adevărat sau false, similare cu cele din C++ sau Perl.
  2. Integer - numere întregi (în baza 10, 2 sau 16). Valoarea maximă depinde de sistem şi de tipul de integer. Tipul poate fi "signed" sau "unsigned", adica dependent de semnul + sau - sau independent de acestea. Valorile pentru integer unsigned sunt mai mari decât cele pentru signed. Sistemele pe 32 bits pot crea numere întregi între -2147483648 şi 2147483647( 2^32-1 ). Maximul pentru sisteme pe 64 bits este 9223372036854775807.
  3. Float - cunoscute ca numere reale. Valorile maxime sunt de asemenea dependete de platform, in general cu un maxim de ~1.8e308 cu o precizie de 14 zecimale dupa virgula (formatul 64 bits IEEE).
  4. String - şiruri de caractere. Înainte de PHP6, un caracter era echivalent cu un byte. Nu există limitări pentru lungimea unui şir, în afara memoriei alocate PHP.
  5. Array - în PHP un array este un tip de data care conţine un grup de elemente. Fiecare element are un indice intern în group, iar fiecărui indice îi corespunde o valoare - elementul în 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).
  6. Obiecte - O clasa este o colecţie de proprietăţi şi funcţii având o logică comună. Obiectele sunt instanţe ale unei clase, în care proprietăţile obiectului primesc valori specifice. Vezi POO - programarea orientată pe obiecte.
  7. Resurse - aceastea 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ă.
  8. NULL - este un tip special de dată, care semnifică că variabila respectivă nu a fost definită şi că nu are valoare.

[modifică] Funcţii

PHP are sute de funcţii incorporate şi alte câteva mii disponibile prin intermediul extensiilor[7].

[modifică] Versiunile 5.2 şi anterioare

În aceste versini funcţiile nu sunt obiecte de prima clasă. Aceasta înseamnă că funcţiile nu pot fi create dinamic în timpul executării programului şi ca pot fi chemate doar prin numele dat cand au fost definite. Utilizatorul poate crea funcţii în orice moment în program. În acest exemplu cuvântul cheie function defineşte funcţia cu numele adauga care primeşte un număr de 2 parametrii de intrare şi returnează suma acestora.

function adauga($x, $y)
{
    return $x + $y;
}
 
echo adauga( 2, 4); // returnează 6

[modifică] Versiunile 5.3 şi mai noi

PHP are suport pentru funcţii de rangul întâi şi pentru funcţii anonime, precum cele folosite în Javascript.

function getAdder($x)
{
    return function ($y) use ($x) {
        // or: lexical $x;
        return $x + $y;
    };
}

Pentru mai multe detalii: Lamda functions and closures RFC.

[modifică] Obiecte

Pentru detalii, vezi articolul  POOvezi articolele [[{{{2}}}]] ÅŸi [[{{{3}}}]]vezi articolele [[{{{4}}}]], [[{{{5}}}]] ÅŸi [[{{{6}}}]]vezi articolele [[{{{7}}}]], [[{{{8}}}]], [[{{{9}}}]] ÅŸi [[{{{10}}}]].

Funcţionalităţi bazice de programare orientată pe obiecte au fost adăugate în PHP 3. În PHP 3 şi 4 obiectele erau tratate ca un tip de dată bazic, însemnand că de fiecare dată când o variabilă era asignată sau folosită într-o funcţie tot obiectul era copiat. Felul în care obiectele sunt tratate a fost complet rescris în 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, functionalităţi similare cu cele din alte limbaje de programare care folosesc paradigma OOP, precum C++.

[modifică] Sintaxă

Clasicul program hello-world în PHP:

<?php
 echo "Salut lume!";
?>

[modifică] PEAR

PEAR este un acronim pentru PHP Extension and Application Repository, şi este un set de librarii scrise în cod PHP. Proiectul PEAR promovează refolosirea codului prin care se accesează funcţii de bază comune. Deasemnea PEAR impune un stil de codare standard.

[modifică] Suport

PHP are un manual oficial[8] întreţinut de comunitatea din jurul proiectului. În plus, răspunsurile la multe probleme pot fi găsite printr-o simplă căutare pe internet. Există multe resurse[9] disponibile pentru un programator PHP începător.

[modifică] Certificare

Zend desfăşuară un program de certificare pentru programatori pentru a deveni Inginier Certificat Zend. Examenul este bazat pe PHP versiunea 5.

[modifică] Legături externe

[modifică] Vezi şi

[modifică] Note şi referinţe


Polska, Dolar, Forex


Wikipedia jest zarejestrowanym znakiem towarowym Wikimedia Foundation
Wszystkie materia³y pochodz¹ z Wikipedii, obiête s¹ licencj¹ GNU Free Documentation License