Alegeri dificile
Daca ai fost atent, stii cum sa folosesti MySQL API din cadrul PHP pentru a efectua interogari si pentru a procesa seturile de rezultate. Poate chiar ai inceput sa te gandesti la cum sa iti reprogramezi site-ul pentru a rula o baza de date MySQL. Toate acestea reprezinta un lucru bun – inseamna ca te familiarizezi cu utilizarea suportului PHP de baze de date pentru a-ti actiona aplicatiile - insa mai avem un pic de parcurs.
Dupa cum ai vazut in Partea a opta, activarea suportului pentru MySQL in PHP 5.0 nu mai este asa de simpla cum obisnuia sa fie. In loc sa sustina MySQL in mod deschis, PHP iti cere acum sa iei tot felul de decizii despre versiuni si biblioteci inainte de a-ti permite sa iti conectezi secventele de instructiuni unei baze de date MySQL. Daca iti este lene (si, in adancul nostru, stim amandoi ca iti este), ai putea prefera sa incerci o cale mai simpla: motorul de baze de date SQLite.
Suportul intern SQLite este nou in PHP 5.0, si ofera utilizatorului un sistem de baze de date usor, care este rapid, eficient si isi indeplineste scopul. Din moment ce este activat in mod predefinit in PHP 5.0, el asigura o alternativa viabila la MySQL; il poti folosi „out of the box” fara a pierde timp cu verficarea versiunii si cu descarcarea librariilor; pur si simplu instaleaza PHP 5 si incepe sa scrii. De aceea ii dedic un intreg tutorial - asa ca ridica-te din pat, fa-ti niste cafea si sa incepem!
Prieteni noi
Inainte de a incepe partea de cod, sa ne asiguram ca ai o idee clara despre ceea ce este SQLite (sau nu este). Spre deosebire de MySQL, care opereaza pe modelul server client, SQLite este un motor de baze de date bazat pe fisiere si foloseste functii – fisier I/O (input/output- intrare/iesire) pentru a stoca si pentru a citi bazele de date din fisiere de pe disk. De asemenea, are o dimensiune mult, mult mai mica decat MySQL – versiunea cu randuri de instructiuni SQLite are mai putin de 200 KB – si suporta majoritatea comenzilor SQL cu care esti obisnuit.
Aceasta dimensiune restransa nu ar trebui sa te dezarmeze, totusi - conform web site-ului oficial al SQLite, SQLite suporta baze de date cu o dimensiune de pana la 2 terabytes si este de fapt mai rapid decat MySQL in anumite situatii. Fisierele de baze de date SQLite sunt usor portabile, iar bazele de date SQLite create in Windows merg bine in platforme *NIX si vice-versa.
Unul dintre cele mai interesante aspecte ale SQLite este acela de a fi complet independente de tip. Campurile dintr-o baza de date SQLite nu trebuie asociate cu un anumit tip, si chiar daca sunt, tot le mai poti insera valori de diverse tipuri (exista o exceptie de la aceasta regula, insa vom ajunge la ea mai tarziu). Acest lucru este important, deorece inseamna ca, daca esti preocupat ca in tabelele tale ar putea ajunge o valoare de un tip neadecvat, trebuie sa scrii cod pentru a implementa verificarea de tipuri in aplicatia ta.
O alta diferenta importanta dintre MySQL si SQLite sta in politicile lor de licenta: spre deosebire de MySQL, codul sursa SQLite este in intregime de domeniu public, ceea ce inseamna ca il poti folosi si distribui oricum doresti, atat in produse comerciale cat si ne-comerciale. Arunca o privire la http://sqlite.org/copyright.html pentru a afla mai multe pe marginea acestui subiect.
Pentru a folosi SQLite si PHP impreuna, configuratia ta PHP trebuie sa includa SQLite. Acesta e activat in mod predefinit atat in versiunea UNIX, cat si Windows a lui PHP 5.
Citeste mai mult despre acest aspect la http://www.php.net/manual/en/ref.sqlite.php. Daca esti un utilizator al PHP 4.x, nu te impacienta – si tu poti folosi SQLite, descarcand si instaland manual php_sqlite.dll de pe http://snaps.php.net (Windows) sau ultimul tarball de pe http://pecl.php.net/package/SQLite (UNIX). Nu ai nevoie sa descarci nimic altceva; „clientul” SQLite este propriul sau motor.
|