Lucrul cu baze de date in PHP fara a scrie instructiuni de SQL – partea 1

Lucrul cu baze de date in PHP fara a scrie instructiuni de SQL

ReadBean PHP este un o versiune simpla de ORM. Unul din principalii contracandidati fiind Doctrine PHP.

O prima intrebare ar fi ce ne-ar fi bun un astfel de ORM ? In cursul de PHP, am folosit ca principala modalitate de a interactiona cu o baza de date statement-urile de SQL. Aceste instructiuni de PHP vin cu avantaje importante, respectiv un control si o flexibilitate destul de mare a operatiilor pe care le putem face asupra bazei de date. Pe de alta parte, insa, trebuie sa fim destul de atenti la ceea ce scriem intr-o astfel de interogare. O litera sau un caracter gresit si am putea da peste cap toata instructiunea, sau daca uitam sa validam pentru un SQL injection ne-am putea trezi cu toata baza de date facuta praf.

ReadBean vine ca un intermediar intre baza de date si codul nostru. Practic ne permite sa mapam o clasa de obiecte PHP pentru fiecare tabela din baza de date, iar ulterior se interactionam cu tabelele prin intermediul obiectelor din clasa respectiva.

Instalarea este cat se poate de simpla. Cam tot de ce avem nevoie este sa includem fisierul de readbean in proiectul nostru:

Urmatorul pas ar fi sa facem conexiunea la baza de date, specificand user-ul si parola:

Inainte sa facem aceasta conexiune, trebuie sa cream manul o baza de date cu denumire todolist. Acest lucru il putem face fie prin PHP MyAdmin sau prin orice alt client pentru MySql.

Am putea lua ca exemplu crearea unui tabel de task-uri pentru un soft de project management. Primul pas ar fi sa descriem un obiect:

Pasul urmator ar fi sa salvam obiectul in baza de date:

Ar fi doua aspecte de notat aici. In primul rand in momentul in care am inceput sa scriem acest cod, tabelul task nu era creat. ReadBean se uita daca exista deja un tabel cu numele dat ca parametru instructiunii R::dispense, iar in cazul in care nu exista un astfel de tabel il va crea. Structura tabelului va fi determinata de atributele pe care le stocam in obiectul nostru. In cazul de fata va fi creat un tabel cu trei coloane:

  • numele task-ului de tip string
  • data pentru acel task de tip date
  • id de tip int. Acesta, chiar daca nu a fost specificat in mod clar, vine ca si coloana implicita pentru orice tabel creat de readbean.

In al doilea rand, dupa ce un obiect a fost salvat in baza de date, metoda de store ne va returna id-ul obiectului nou inserat, pe care il putem folosi ulterior pentru a face noi operatii.

Acum, din moment ce avem un tabel nou creat, cu cel putin un rand de date, putem discuta despre cum se desfasoara si operatiile de stergere, sau update.

Pentru a sterge un obiect folosind ReadBean tot ceea ce trebuie sa facem este:

Inital tot va trebui sa incarcam, pe baza id-ului, obiectul corespunzator unui rand din baza de date, dupa care putem folosi R::trash pentru a sterge respectiva inregistrare.

Pentru a modifica o inregistrare deja existenta:

Procesul este unul destul de intuitiv: ceea ce facem este sa preluam obiectul de baza de date, sa facem modificarile dorite si dupa aceea sa resalvam obiectul cu noile modificari in baza de date.

Daca observati pana in momentul de fata, am facut 3/4 din operatiunile de CRUD (create, retrive, update, detele) si nu am scris nicio instructiune de SQL. In partea o doua a acestui tutorial, vom contiua cu partea de retrive si alte cateva proceduri specifice ReadBean, insa, daca va grabiti, puteti arunca o privire pe site-ul oficial unde veti gasi mai multe informatii.



Alte articole si tutoriale:
« »

Oferta limitata eBook gratuit: DUBLEZA-TI VENITUL PRIN CUNOSTINTELE DE IT

Inscrie-te la newsletter si vei primi un eBook gratuit. Vei fi si informat despre ofertele speciale, tutoriale gratis si discount-urile pentru cursurile LEC Academy.

Download ebook
×

Abonare email

Accesul la tutorialele gratuite se face pe baza inscrierii la newsletter. Inscrie-te la newsletter-ul LEC Academy si ai acces la peste 40 de lectii gratuite. Daca doresti, vei fi informat despre ofertele speciale, promotiile si discount-urile pentru cursurile LEC Academy.

Vezi lectii gratis
×