Advertisement

Responsive Advertisement

Singlton baza pattern plus CRUD (create read update delete)

Gost bloger - Vladan Stavric za blog Jaka Šifra.

PHP je napravljen kao server-side skriptni jezik, tako da ga možemo koristiti za prikupljanje podataka iz obrazaca, dinamičko generisanje sadržaja, stranice. Da ne preteram ali ima mnogobrojne mogućnosti! Korištenjem PHP-a, niste ograničeni samo na generiranje HTML-a. Moguće je u letu npr. generisati slike, PDF i Flash podatke. Napravljene podatke ne morate odmah koristiti, već ih možete postaviti na server i koristiti kasnije. Jedna od najjačih i najznačajnijih mogućnosti PHP-a je njegova podrška za različite baze podataka. Izuzetno je jednostavno nadograditi web aplikaciju korištenjem specifičnih ekstenzija poput mysqli (mysql bez i - polako odlazi u prošlost, iako će zauvek ostati na Web-u), apstraktnog PDO (PHP Data Objects) sloja ili spajanjem na bilo koju bazu koja podržavaODBC (Open Database Connection) standard.

Zašto sam napravio ovaj uvod? Iz razloga kao što sam naslov kaže; sledi pregled Singlton i CRUD_a.

Singlton je dizajnerski šablon koji ograničava instanciranje klase na jedan objekat! Šta to znači? 





Znači - method:bool(true), tj. instancu možemo pozvati dvaput ali objekta klase object(false) ne, nego samo jednom!

Nastavak koji sledi odnosi se na jednu od mogućnosti korišćena Singltona i Create Read Update Delete.

CRUD označava radnje vezane za bazu - MySql. Ubaciti, čitati, updejtovati, brisati iz i u baze. Ovde cemo koristiti dve klase Database1 i Crud. Database1 je jednostavno povezivanje na bazu sa query_ijem.



Prvo što vidimo jesu polja u klasi; $instance, $dblink, $host, $user itd. $instance je promenjliva koja će primiti vrednost objekta klase Database1 i preneti ga na samu klasu! To se dešava u metodu - getInstance().

Posle toga dolazi konstruktor __construct() koji prilikom instanciranja klase Database1 automatski poziva $dblink promenljivu u kojoj se nalazi vrednost konekcije na bazu mysqli_connect().

Koristeći self mi navodimo(reference_u) na aktuelnu klasu putem promenljive; slobodnije bi mogli reći da je to ime klase u kojoj radimo nešto! Znači u slobodnom smislu reči self je ime klase...

Kao najvažniji deo svega, na red dolazi Query() metod. Upravo, $dblink koji sam spomenuo malopre uzima vrednost konekcije sa mysqli_query_ijem i vraća njenu vrednost(return).



Klasu Crud nasledujemo (extends) sa Database1. Na taj način prosledjujemo vrednosti iz klase Database1 u klasu Crud. Naravno ovo je jedan od načina, jer po običaju CRUD ide u klasu. Šta sa ovim želim reći? To da klasu Database1 možemo koristiti kao ne zavisnu klasu u našem sistemu i praviti upite-Query() gde god želimo! Singlton se sad ponaša kao globalna varijabla tj. ima svoj global space. U klasi Crud postoje metode Insert(); getAll(); Update(); Delete(); a to je ustvari CRUD.

Više o ovome: klik na sliku ispod "PHPBeograd end other programing" - FB


 
 

Постави коментар

4 Коментари

Анониман каже…
sta je ovo ? ima li logicno objadnjenje ???
Анониман каже…
gde ćeš logičnije od ovod, momak je nacrtao bukvalno!!!
baš je dobro uradjeno i objašnjeno.
Анониман каже…
Milence bacas se na ozbiljne teme, Napisi post o wampu, korisno je ko hoce da uci o php. pozzzzz
Анониман каже…
ima drug objašnjenje, to se zove objektno programiranje OOP, imaš na netu-pogledaj,
tu se radi o klasama i bazi podatka