Tehnici web

24
Twitter Bootstrap Twitter Bootstrap este un framework pentru design HTML/CSS și Javascript prin încapsularea unor funcționalități din jQuery. De asemenea, este un framework care are ca principală sarcină oferirea elementelor necesare pentru realizarea unui produs finisat într-un timp scurt. Ca proiect open-source, inițiat de echipa de dezvoltare de la Twitter, a prins foarte repede în comunitatea online, avînd un trend exponențial pe mai multe direcții. Astfel, nu doar că a ajuns la versiunea 3 și că este printre cele mai populare proiecte open-source pe GitHub, dar în același timp librăria a declanșat dezvoltarea unor terțe librării și extensii care au ca scop completarea și rafinarea unui pachet întreg de resurse necesare în jurul acestui framework. Printre aceste resurse pot fi menţionate: Template-uri de Twitter Bootstrap (licențe libere sau comerciale); Fonturi noi; Elemente și componente UI; Alte elemente estetice utile (săgeţi, librării pentru grafice, generatoare template-uri, etc) Twitter Bootstrap mai oferă încă o facilitate, care nu este deloc ușor de trecut cu vederea: plaja de compatibilitate cu marile web browser-e este foarte bună, incluzînd și Internet Explorer 11. Iar la nivelul dispozitivelor mobile, acestea sunt suportate prin implementarea unui CSS responsive.

description

diferite tehnici pentru crearea website-urilor

Transcript of Tehnici web

Page 1: Tehnici web

Twitter Bootstrap

Twitter Bootstrap este un framework pentru design HTML/CSS și Javascript prin

încapsularea unor funcționalități din jQuery. De asemenea, este un framework care are ca

principală sarcină oferirea elementelor necesare pentru realizarea unui produs finisat într-un timp

scurt. Ca proiect open-source, inițiat de echipa de dezvoltare de la Twitter, a prins foarte repede

în comunitatea online, avînd un trend exponențial pe mai multe direcții. Astfel, nu doar că a

ajuns la versiunea 3 și că este printre cele mai populare proiecte open-source pe GitHub, dar în

același timp librăria a declanșat dezvoltarea unor terțe librării și extensii care au ca scop

completarea și rafinarea unui pachet întreg de resurse necesare în jurul acestui framework.

Printre aceste resurse pot fi menţionate:

Template-uri de Twitter Bootstrap (licențe libere sau comerciale);

Fonturi noi;

Elemente și componente UI;

Alte elemente estetice utile (săgeţi, librării pentru grafice, generatoare

template-uri, etc)

Twitter Bootstrap mai oferă încă o facilitate, care nu este deloc ușor de trecut cu vederea:

plaja de compatibilitate cu marile web browser-e este foarte bună, incluzînd și Internet Explorer

11. Iar la nivelul dispozitivelor mobile, acestea sunt suportate prin implementarea unui CSS

responsive.

În privința suportului pentru device-uri mobile, Twitter Bootstrap nu poate înlocui un

framework destinat exclusiv acestora, cum ar fi jQuery Mobile, care e construit și definit ca un

framework web optimizat pentru smartphones și tablete, pe cînd Twitter Bootstrap oferă doar

suport pentru acestea prin crearea de layout-uri responsive în funcție de device-ul care îl

accesează.

La baza dezvoltării continue a framework-ului Twitter Bootstrap este pre-procesorul

LESS, ales datorită vitezei de compilare a codului (de 6 ori mai rapid ca SASS), și a eleganței și

utilizării JavaScript-ului. Ca rezultat, oferă unui dezvoltator posibilitatea ajustării design-ului

prin definirea/setarea unui set de variabile/parametri și recompilarea surselor LESS rezultînd un

nou set de fişiere de stil (CSS).

Page 2: Tehnici web

LESS, nu este singur pre-procesor de CSS disponibil, existînd în momentul de față mai

multe pre-procesoare printre care s-au remarcat printre dezvoltatorii de front-end: LESS, SASS

și SCSS. Folosirea acestora aduce o valoare adăugată oricărui framework de front-end. Însă

modul lor de funcționare este asemănător, fiecare încercînd să ofere dezvoltatorului ușurință în a

scrie un cod de calitate, și dezvolta un produs finit. Browser-ul web fiind capabil să interpreteze

doar fișiere de stiluri CSS, codul scris pentru aceste pre-pocesoare este compilat generînd un set

de stiluri CSS interpretabile de broswere.

Aceste pre-procesoare au apărut ca o necesitate în urma limitărilor pe care le implică

folosirea stilurilor CSS (lipsa variabilelor, și a facilității de refolosire a stilurilor în mai multe

selecții CSS). Deși la prima vedere, folosirea acestor pre-procesoare ar putea fi considerată ca o

muncă adițională în realizarea unei aplicații sau pagini web, una dintre avantajele majore este

cîștigarea de timp în dezvoltare, alături de un cod mai curat (DRY = Don"t Repeat Yourself), un

fișier de CSS mai curat și ușor de întreţinut.

Ca urmare a succesului şi popularității cîştigate de acest framework HTML/CSS, au

apărut comunităţi şi pagini web cu scop declarat de a oferi (gratis şi/sau comercial), pachete de

interfețe utilizator complete şi gata de integrat în aplicații din diverse domenii.

Unul dintre cele mai populare, bootstrap oferă template-uri pe categorii:

Administrare şi Dashboard;

Pagini de prezentare;

Pagini Business şi Corporate;

Portofoliu şi Galerii Foto.

Pe lîngă acest serviciu comercial există multe altele care oferă template-uri complete sub

o licență gratuită, unul dintre acestea fiind Bootmetro, replică stilul Metro Style, oferit de noul

Windows 8. (http://aozora.github.com/bootmetro/).

La utilizarea pachetului Twitter Bootstrap, pe lîngă posibilitatea de a-ți construi singur

pachetul folosind funcțiile pre-procesorului LESS local instalat, se poate utiliza şi personalizarea

pachetului prin definirea de variabile, parametri şi chiar plugin-uri necesare înainte de a

downloada acest pachet de pe site-ul care îl găzduiește. Acest lucru se poate traduce în

Page 3: Tehnici web

personalizarea şi micșorarea pachetului expus utilizatorului final, rezultînd o viteză mai mare de

încărcarea a paginii web.

Pe lîngă plugin-urile puse la dispoziție de către echipa din spatele acestui pachet, există

numeroase site-uri care complementează cu diverse extensii, de la reprezentări grafice ale unor

informații utile, pînă la extinderea unor widget-uri clasice la un nivel superior.

Pentru integrarea acestora, Twitter Bootstrap oferă două metode, una dintre acestea, fiind

interesantă pentru ca nu cere cunoştinţe de Javascript pentru utilizare. Metoda aceasta foloseşte

doar cod HTML cu atribute speciale atașate tag-urilor existent pentru declanșarea unor

funcționalități Javascript.

O altă tendință este folosirea unui font în reprezentarea icoanelor pentru anumite acțiuni

și reprezentarea de informații auxiliare pentru informații prezentate. Unul dintre acestea:

FontAwesome, este chiar definit ca fiind un font iconic dezvoltat pentru a fi folosit împreună cu

framework-ul Twitter Bootstrap. Dar nu este singurul, el fiind complementat de cîteva font-uri

din aceeași categorie.

Un exemplu este Socialico, care oferă un set de caractere destinat reprezentării iconițelor

celor mai populare rețele de socializare.

E o metodă nouă de prezentare a informațiilor de tip icoane, care vine şi cu multe

avantaje precum: scalabilitatea reprezentării fără pierderea calității (font-ul fiind reprezentat

vectorial), o amprentă mai mică (dimensiune mai mică a fișierelor), mai puțină muncă de

Photoshop şi bineînțeles de creare/modificare stiluri CSS; dar şi cu cîteva dezavantaje: o limitare

în privința numărului de icoane disponibile în fiecare font, și chiar o mică problemă de SEO

(google bot nu poate să interpreteze litera "x" care e randată pentru user în broswer-ul web ca

fiind icoană reprezentînd acțiunea de Login).

Pachetul Twitter Bootstrap este independent de tehnologia server side folosită, ceea ce îl

face atractiv pentru web designeri și dezvoltatori web, indiferent de limbajul de programare

utilizat.

Folosirea acestui pachet de UI, împreună cu un framework de tip MVC avansat, care pe

lîngă funcționalitatea standard, și un design arhitectural oferă şi un generator de module de tip

CRUD (Create/Remove/Update/Delete și altele dacă se intervine) ar fi un caz complet de

Page 4: Tehnici web

implementare de tip Rapid Aplication Development (RAD) cu rezultate și privind experiența

user-ului.

Limbajul de marcare HTML

HyperText Markup Language (HTML) este un limbaj de marcare utilizat pentru crearea

paginilor web ce pot fi afișate într-un browser (sau navigator). Scopul HTML este mai degrabă

prezentarea informațiilor – paragrafe, fonturi, tabele ș.a.m.d. – decît descrierea semanticii

documentului.

HTML este o formă de marcare orientată către prezentarea documentelor text pe o

singura pagină, utilizînd un software de redare specializat, numit agent utilizator HTML, cel mai

bun exemplu de astfel de software fiind browserul web. HTML furnizează mijloacele prin care

conținutul unui document poate fi adnotat cu diverse tipuri de metadate și indicații de redare.

Indicațiile de redare pot varia de la decorațiuni minore ale textului, cum ar fi specificarea faptului

că un anumit cuvînt trebuie subliniat sau că o imagine trebuie introdusă, pînă la scripturi

sofisticate, hărți de imagini și formulare. Metadatele pot include informații despre titlul și autorul

documentului, informații structurale despre cum este împărțit documentul în diferite segmente,

paragrafe, liste, titluri etc. și informații cruciale care permit ca documentul să poată fi legat de

alte documente pentru a forma astfel hiperlink-uri (sau web-ul).

HTML este un format text proiectat pentru a putea fi citit și editat de oameni utilizînd un

editor de text simplu. Totuși scrierea și modificarea paginilor în acest fel solicită cunoștințe

solide de HTML și este consumatoare de timp. Editoarele grafice (de tip WYSIWYG) cum ar fi

Macromedia Dreamweaver, Adobe GoLive sau Microsoft FrontPage permit ca paginile web sa

fie tratate asemănător cu documetele Word, dar cu observația că aceste programe generează un

cod HTML care este de multe ori de proastă calitate.

HTML se poate genera direct utilizînd tehnologii de codare din partea serverului cum ar

fi PHP, JSP sau ASP. Multe aplicații ca sistemele de gestionare a conținutului, wiki-uri și

forumuri web generează pagini HTML.

HTML este de asemenea utilizat în e-mail. Majoritatea aplicațiilor de e-mail folosesc un

editor HTML încorporat pentru compunerea e-mail-urilor și un motor de prezentare a e-mail-

urilor de acest tip. Folosirea e-mail-urilor HTML este un subiect controversat și multe liste de

Page 5: Tehnici web

mail le blochează intenționat. HTML este prescurtarea de la Hyper Text Mark-up Language si

este codul care sta la baza paginilor web.

Paginile HTML sunt formate din etichete sau tag-uri și au extensia „.html” sau „.htm”. În

marea lor majoritate aceste etichete sunt pereche, una de deschidere <eticheta> și alta de

închidere </eticheta>, mai există și cazuri în care nu se închid, atunci se folosește <eticheta />.

Navigatorul web interpretează aceste etichete afișînd rezultatul pe ecran. HTML-ul este un

limbaj care nu face deosebire între litere majuscule și minuscule.

Pagina principala a unui domeniu este fisierul „index.html” respectiv „index.htm”.

Această pagină este setată a fi afișată automat la vizitarea unui domeniu.

De exemplu la vizitarea domeniului www.sabot-design.md este afișată pagina www.

sabot-design.md /index.html.

Toate paginile HTML încep și se termină cu etichetele <html> și </html>. În interiorul

acestor etichete găsim perechile <head>, </head> și <body>, </body>. <head> conține titlul

paginii între etichetele <title> și </title>, descrieri de tip <meta>, stiluri pentru formatarea

textului, script-uri și legături către fisiere externe (de exemplu script-uri, fișiere de tip CSS sau

favicon). Etichetele de tip meta conțin cuvinte cheie, descrierea paginii, date despre autor,

informații utile motoarelor de căutare.

HTML5 este a cincea revizuire a standardului HTML (creat în 1990 și standardizat ca

HTML4 din 1997) și din octombrie 2011 este în curs de dezvoltare. Obiectivele sale principale

au fost acelea de a îmbunătăți limbajul cu un suport pentru cele mai recente apariții multimedia

în același timp menținîndul ușor de citit de oameni și bine înțeles de computere și device-uri

(browsere web, parsere, etc.). HTML5 își propune să însumeze nu numai HTML4, dar și

XHTML1 și DOM2HTML (îndeosebi JavaScript).

Urmărind predecesorii săi imediați HTML 4.01 și XHTML 1.1, HTML5 este un răspuns

la observația că HTML și XHTML utilizate în comun pe World Wide Web sunt un amestec de

caracteristici introduse de specificații diferite, împreuna cu acestea mai sunt și caracteristicile

diferite aduse de software, de browsere, și multe erori de sintaxă în documnentele web existente.

Astfle, HTML5 devine o încercare de a defini un singur limbaj de marcare care poate fi scris în

oricare dintre sintaxele HTML sau/și XHTML. Acesta include modele detaliate de prelucrare

pentru a încuraja mai multe implementări interoperabile; extinde, îmbunătățește și raționalizează

Page 6: Tehnici web

disponibilitățile pentru documentele web și introduce marcarea și aplicații API pentru aplicații

web complexe. Din aceste motive, HTML5 este un posibil candidat pentru aplicațiile de

platforme mobile. Multe caracteristici ale HTML5 au fost create din considerarea că va trebui să

devină capabil să ruleze pe dispozitive cum ar fi smart-phonurile sau tabletele.

În special, HTML5 aduce multe noi caracteristici sintactice. Acestea cuprind elemente ca

<video>, <audio>, <header> și <canvas> elemente HTML, precum și integrarea conținutului

SVG care a înlocuiește utilizarea tag-ului generic <object>. Aceste noutăți sunt proiectate pentru

a facilita includerea și manipularea în web a conținuturilor multimedia și grafice fără a fi nevoie

să se recurgă la proprietățile de plugin și API. Alte noi elemente ca <section>, <article>,

<header>, și <nav> sunt proiectate să îmbunătățească conținutul semantic al documentelor. Noi

atribute au fost introduse în același scop, în același timp unele elemente și atribute au fost

îndepărtate. Unele elemente ca <a>, <cite> și <menu> au fost schimbate, redefinite și

standardizate. API-urile și DOM-urile sunt certitudini și sunt părți fundamentale în specificațiile

HTML5. HTML5, de asemenea, definește in cîteva detalii prelucrările necesare pentru

documentele invalide, astfel încît sintaxa erorilor va fi tratată uniform de toate browserele

cunoscute

Page 7: Tehnici web

CSS

CSS (Cascading Style Sheets) este un standard pentru formatarea elementelor unui

document HTML. Stilurile se pot atașa elementelor HTML prin intermediul unor fișiere externe

sau în cadrul documentului, prin elementul <style> și/sau atributul style. CSS se poate utiliza și

pentru formatarea elementelor XHTML, XML și SVGL.

Sunt mai multe versiuni ale acestui standard, uștima din ele fiind CSS3. CSS3 reprezintă

un upgrade ce aduce cîteva atribute noi și ajută la dezvoltarea noilor concepte in webdesign.

Unele dintre cele mai importante segmente (module) noi adăugate acestui standard pentru

formatarea elementelor HTML aduc un plus considerabil in dezvoltarea activități webdesign.

Mai jos sunt prezente in listă cele mai importante modulele adăugate in CSS3:

Selectors;

Box Model;

Backgrounds and Borders;

Image Values and Replaced Content;

Text Effects;

2D/3D Transformations;

Animations;

Multiple Column Layout;

User Interface.

Deși au apărut unele deficiente de compatibilitate între browsere, majoritatea

proprietăților CSS3 au fost implementate cu succes în variantele browserelor noi.

Acum CSS3 oferă posibilitatea de a crea borduri cu colțurile rotunjite fară a folosi

elemente grafice de fundal așa cum se folosea anterior acestui upgrade.

Proprietatea CSS3 border-radius definește prin valorile exprimate în pixeli cît de rotunjite

vor fi colțurile unui element HTML sau unei imagini. Fiecare colț poate avea o altă valoare

exprimată în pixeli diferită de un alt colț al aceluiași element. Prin urmare putem folosi pana la 4

valori diferite atribuite unui element HTML sau imagine.

Page 8: Tehnici web

JavaScript

JavaScript (JS) este un limbaj de programare orientat obiect bazat pe conceptul

prototipurilor. Este folosit mai ales pentru introducerea unor funcționalități în paginile web,

codul Javascript din aceste pagini fiind rulat de către browser. Limbajul este binecunoscut pentru

folosirea sa în construirea siturilor web, dar este folosit și pentru acesul la obiecte încastrate

(embedded objects) în alte aplicații. A fost dezvoltat inițial de către Brendan Eich de la Netscape

Communications Corporation sub numele de Mocha, apoi LiveScript, și denumit în final

JavaScript.

În ciuda numelui și a unor similarități în sintaxă, între JavaScript și limbajul Java nu

există nicio legătură. Ca și Java, JavaScript are o sintaxă apropiată de cea a limbajului C, dar are

mai multe în comun cu limbajul Self decît cu Java.

Schimbarea numelui din LiveScript în JavaScript s-a făcut cam în același timp în care

Netscape încorpora suport pentru tehnologia Java în browserul web Netscape Navigator.

Microsoft a implementat limbajul JavaScript sub numele de JScript, cu o serie de

modificări și extensii față de implementarea Netscape. Pe platforma Windows, JScript este unul

din limbajele executabile de către Windows Script și, deci, poate fi folosit pentru scriptarea

aplicațiilor ce suportă Windows Script, de exemplu Internet Explorer, sau chiar sistemul de

operare Windows. Asociația ECMA a standardizat limbajul JavaScript/JScript sub numele

ECMAScript (standardul ECMA-262).

Cea mai des întîlnită utilizare a JavaScript este în scriptarea paginilor web. Programatorii

web pot îngloba în paginile HTML script-uri pentru diverse activități cum ar fi verificarea

datelor introduse de utilizatori sau crearea de meniuri și alte efecte animate.

Browserele rețin în memorie o reprezentare a unei pagini web sub forma unui arbore de

obiecte și pun la dispoziție aceste obiecte script-urilor JavaScript, care le pot citi și manipula.

Arborele de obiecte poartă numele de Document Object Model sau DOM. Există un standard

W3C pentru DOM-ul pe care trebuie să îl pună la dispoziție un browser, ceea ce oferă premiza

scrierii de script-uri portabile, care să funcționeze pe toate browserele. În practică, însă,

standardul W3C pentru DOM este incomplet implementat. Deși tendința browserelor este de a se

Page 9: Tehnici web

alinia standardului W3C, unele din acestea încă prezintă incompatibilități majore, cum este cazul

Internet Explorer.

O tehnică de construire a paginilor web tot mai întîlnită în ultimul timp este AJAX,

abreviere de la „Asynchronous JavaScript and XML”. Această tehnică constă în executarea de

cereri HTTP în fundal, fără a reîncărca toată pagina web, și actualizarea numai anumitor porțiuni

ale paginii prin manipularea DOM-ului paginii. Tehnica AJAX permite construirea unor interfețe

web cu timp de răspuns mic, întrucît operația (costisitoare ca timp) de încărcare a unei pagini

HTML complete este în mare parte eliminată.

JavaScript oferă un tip de date Boolean cu valorile true și false. Operatorul returnează

șirul "boolean" pentru aceste tipuri de primitive. Atunci cînd este utilizat într-un context logic, 0 ,

-0 , null , NaN , undefined , iar șir vid ( "" ) evaluează în false din cauza constrîngerii automate.

Cînd conversia de tip este necesară, JavaScript convertește String, Number, Boolean, sau

operanzilor obiect, după cum urmează:

Șir de caractere este convertit la o valoare număr. JavaScript încearcă să transforme

literal șir de caractere numeric, la o valoare tip de număr. În primul rînd, o valoare de

matematică este derivat din literal șir de caractere numeric. Apoi, această valoare este

rotunjită la cea mai apropiată valoare tip de număr;

Dacă unul dintre operanzi este un Boolean, operand Boolean este convertit la 1 dacă

este true sau la 0, dacă este false;

Dacă un obiect este comparat cu un număr sau un șir de caractere, JavaScript încearcă

să se întoarcă valoarea implicită pentru obiect. Un obiect este convertit la un șir de

caractere sau o valoare numerică, folosind .valueOf() sau .toString() metode de

obiect. Dacă acest lucru nu reușește, o eroare de execuție este generată.

Unii experți folosesc termenii "true" și "false" pentru a descrie modul în care valorile de

diferite tipuri, se comportă atunci cînd a evaluat într-un context logic, în special în ceea ce

privește cazurile de margine. Operatorii logici binare a returnat o valoare booleană în primele

versiuni de JavaScript, dar acum se vor întoarce unul dintre operanzi loc.

Operandul stîng este returnat în cazul în care acesta poate fi evaluat ca: false , în cazul de

asociere ( a && b ) , sau true , în cazul de disjuncției ( a || b ) , în caz contrar dreptul de-operand

Page 10: Tehnici web

este returnat. O expresie poate fi în mod explicit exprimate la un primitiv de booleană: dublarea

logic operatorul negație ( !! ) , folosind Boolean() funcția, sau folosind operatorul condițional.

Limbajul PHP

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 comandă” (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. Este disponibil sub

Licenṭa PHP ṣi Free Software Foundation îl 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 însemna inițial Personal Home Page. 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.

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;

Page 11: Tehnici web

Imbunătățiri de performanță;

Suport îmbunătățit pentru MySQL și MSSQL;

Suport nativ pentru SQLite;

Suport SOAP integrat;

Iteratori pentru date;

Controlul erorilor 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. Dezvoltarea la PHP 6 începuse deja în decembrie 2007 și urmează să fie oferit

odată cu scoaterea din uz a PHP4.

PHP 6 are următoarea agendă de îmbunătățiri și modificări:

îmbunătățirea suportului pentru Unicode;

suport pentru int pe 64 biți;

taguri tip ASP sunt retrase definitive;

XMLReader, XMLWriter, Fileinfo vor face parte din distribuția principal;

funcția ereg() nu mai este disponibilă;

erorile tip E_STRICT sunt incluse în E_ALL;

adăugarea instrucțiunii goto permite salturi la un alt bloc de comenzi;

namespace, import, și goto devin cuvinte rezervate;

foreach va suporta array multi dimensional: foreach($a as $b => list($c, $d));

opțiunea safe_mode a fost înlăturată;

operatorul and a fost înlăturat;

funcția microtime() returnează un float;

zend.ze1_compatibility_mode a fost înlăturat.

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.

Page 12: Tehnici web

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;

- 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 î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, Windows, sau Mac OS

X și poate interacționa cu majoritatea serverelor web. Codul 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).

Page 13: Tehnici web

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.

MySQL

MySQL este un sistem de gestiune a bazelor de date relaționale, produs de compania

suedeza MySQL AB și distribuit sub Licența Publică Generală GNU. Este cel mai popular

SGBD open-source la ora actuală, fiind o componentă cheie a stivei LAMP (Linux, Apache,

MySQL, PHP).

Deși este folosit foarte des împreună cu limbajul de programare PHP, cu MySQL se pot

construi aplicații în orice limbaj major. Există multe scheme API disponibile pentru MySQL ce

permit scrierea aplicațiilor în numeroase limbaje de programare pentru accesarea bazelor de date

MySQL, cum are fi: C, C++, C#, Java, Perl, PHP, Python, FreeBasic, etc., fiecare dintre acestea

folosind un tip specific API. O interfață de tip ODBC denumită MyODBC permite altor limbaje

de programare ce folosesc această interfață, să interacționeze cu bazele de date MySQL cum ar fi

ASP sau Visual Basic. În sprijinul acestor limbaje de programare, unele companii produc

componente de tip COM/COM+ sau .NET (pentru Windows) prin intermediul cărora

respectivele limbaje să poată folosi acest SGBD mult mai ușor decît prin intermediul sistemului

ODBC. Aceste componente pot fi gratuite (ca de exemplu MyVBQL) sau comerciale.

Licența GNU GPL nu permite încorporarea MySQL în softuri comerciale; cei care doresc

să facă acest lucru pot achiziționa, contra cost, o licență comercială de la compania producătoare,

MySQL AB.

MySQL este componentă integrată a platformelor LAMP sau WAMP (Linux/Windows-

Apache-MySQL-PHP/Perl/Python). Popularitatea sa ca aplicație web este strîns legată de cea a

PHP-ului care este adesea combinat cu MySQL și denumit Duo-ul Dinamic. În multe cărți de

specialitate este precizat faptul ca MySQL este mult mai ușor de invățat și folosit decît multe din

aplicațiile de gestiune a bazelor de date, ca exemplu comanda de ieșire fiind una simplă și

evidentă: „exit” sau „quit”.

Pentru a administra bazele de date MySQL se poate folosi modul linie de comandă sau,

prin descărcare de pe internet, o interfață grafică: MySQL Administrator și MySQL Query

Page 14: Tehnici web

Browser. Un alt instrument de management al acestor baze de date este aplicația gratuită, scrisă

în PHP, phpMyAdmin.

MySQL poate fi rulat pe multe dintre platformele software existente: AIX, FreeBSD,

GNU/Linux, Mac OS X, NetBSD, Solaris, SunOS, Windows 9x/NT/2000/XP/Vista.

Baze de date

O bază de date, uneori numită și bancă de date (abreviat BD), reprezintă o modalitate de

stocare a unor informații și date pe un suport extern (un dispozitiv de stocare), cu posibilitatea

extinderii ușoare și a regăsirii rapide a acestora. La prima vedere sarcina poate părea banală.

Totuși, în condițiile în care este vorba de a lucra cu milioane de elemente, fiecare putând consta

din mari cantități de date care trebuie accesate simultan prin Internet de către mii de utilizatori

răspândiți pe întreg globul; și în condițiile când disponibilitatea aplicației și datelor trebuie să fie

permanentă (de ex. pentru a nu pierde ocazia de a încheia afaceri), soluțiile bune nu sunt de loc

simple.

De obicei o bază de date este memorată într-unul sau mai multe fișiere. Bazele de date

sunt manipulate cu ajutorul sistemelor de gestiune a bazelor de date.

Cel mai răspândit tip de baze de date este cel relațional, în care datele sunt memorate în

tabele. Pe lânga tabele, o bază de date relațională mai poate conține: indecși, proceduri stocate,

declanșatori, utilizatori și grupuri de utilizatori, tipuri de date, mecanisme de securitate și de

gestiune a tranzacțiilor etc. Alte tipuri de baze de date sunt modelul ierarhic, modelul orientat pe

obiecte și, mai nou, modelul XML.

Baze de date importante:

Scientific and Technical Network;

Zentralblatt MATH;

MRLookup;

ABC-CLIO;

SPIRES;

ArXiv;

BDD;

Didactics of Mathematics;

Jahrbuch Database;

Page 15: Tehnici web

J-EAST;

Audiostreet;

Bazele de date ale proiectelor Wiki, inclusiv Wikipedia.

Sistemele de gestiune a bazelor de date (în engleză: "database management system"),

abreviat SGBD, reprezintă totalitatea programelor utilizate pentru crearea, interogarea și

întreținerea unei baze de date. Include două categorii de module: module care sunt comune cu

cele ale sistemelor de operare ale calculatoarelor și module cu funcții specifice bazei de date.

Subsistemele monitor conțin programele de control al perifericelor și sistemul de gestiune a

fișierelor. Subsistemele externe sunt alcătuite din procesorul de definiție și programul de

administrare. Alături de acestea există programe de descriere a bazei de date și cereri de

prelucrare.Între utilizator și sistem există două interfețe: definirea bazei de date și utilizarea bazei

de date. Definirea unei baze de date se execută sub controlul procesorului de definiție (PD),

capabil să prelucreze programe de descriere, formulate folosind limbaje specializate cunoscute

sub denumirea de limbaje de definiție a datelor (LDD).