Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/vokab/public_html/forum/Sources/Load.php(216) : runtime-created function on line 2 Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/vokab/public_html/forum/Sources/Load.php(216) : runtime-created function on line 2
Наслов: Loader klase Порука од: Avram на 21.25 ч. 28.09.2008. Šta je loader klasa?
Loader klasa je deo projekta Vokativ i predstavlja PHP klasu čiji se objekat prosleđuje konstruktoru klase Vokativ (glavna klasa projekta Vokativ), a koja za cilj ima da pročita reči iz rečnika i prosledi ih klasi Vokativ kao asocijativni PHP niz, i to u formatu $niz['nominativ']=>'vokativ'; Loader klasa je obična PHP klasa koja jedino mora da sadrži funkciju napravi_niz() koju poziva Vokativ klasa. Ova funkcija ne prima ni jedan parametar i vraća asocijativni niz u formatu $niz['nominativ']=>'vokativ'; Ukoliko klasa mora da primi neke podatke od aplikacije, isti se prosleđuju kroz konstruktor Loader klase. Osnovne tri loader klase koje dolaze u paketu su: Vokativ_INI, Vokativ_DAT i Vokativ_MySQL Vokativ_INI Ova klasa služi da parsira INI fajl i vrati podatke iz rečnika parova kao asocijativni niz. Konstruktor ove klase može da primi jedan parametar koji predstavlja putanju do .ini fajla koji sadrži rečnik parova. Ukoliko se ovaj parametar izostavi, koristiće se podrazumevana putanja - vokativ.ini Primer za testiranje klase: Код: <?php include "loaders/ini.class.php"; $loader = new Vokativ_INI('recnik.ini'); //kreiramo objekat klase Vokativ_INI, koji cita recnik iz fajla recnik.ini var_dump($loader->napravi_niz()); //printamo formirani niz parova nominativ=>vokativ ?> Vokativ_DAT Ova klasa služi da parsira DAT fajl (koji sadrži serijalizovani asocijativni niz parova) i vrati podatke iz rečnika parova kao asocijativni niz. Konstruktor ove klase može da primi jedan parametar koji predstavlja putanju do .dat fajla koji sadrži rečnik parova. Ukoliko se ovaj parametar izostavi, koristiće se podrazumevana putanja - vokativ.dat Primer za testiranje klase: Код: <?php include "loaders/dat.class.php"; $loader = new Vokativ_DAT('recnik.dat'); //kreiramo objekat klase Vokativ_DAT, koji cita recnik iz fajla recnik.dat var_dump($loader->napravi_niz()); //printamo formirani niz parova nominativ=>vokativ ?> Vokativ_MySQL Ova klasa služi da se poveže na MySQL bazu i vrati podatke iz rečnika parova kao asocijativni niz. Ono što je bitno znati je da se ova klasa povezuje na MySQL bazu tek kada glavna klasa pozove funkciju napravi_niz(); Konstruktor ove klase može da primi jedan ili (od verzije 0.1.1) više parametara koji predstavljaju podatke za povezivanje na MySQL bazu. Na vama je da odlučite kako ćete podesiti parametre za povezivanje na MySQL bazu, a to može jedan od sledećih načina: - posle instanciranja objekta klase, direktnim menjanjem promenljivih klase - kao listu parametara - kao niz parametara - kao asocijativni niz parametara (preporučeno) Lista parametara (red je u nekim slučajevima jako bitan):
Primer za testiranje klase i podešavanje podataka za konekciju direktnim menjanjem promenljivih klase: Код: <?php include "loaders/mysql.class.php"; $loader = new Vokativ_MySQL(); //kreiramo objekat klase Vokativ_MySQL //podesavanja za povezivanje na MySQL bazu - ovde bilo koji parametar moze biti izostavljen i bice koriscen podrazumevani $loader->host = 'localhost'; //podesavamo MySQL host $loader->user = 'root'; //podesavamo MySQL korisnika $loader->pass = ''; //podesavamo MySQL sifru $loader->db = 'vokativ'; //podesavamo ime baze podataka $loader->table = 'vokativ'; //podesavamo ime tabele u bazi $loader->port = 3306; //podesavamo MySQL port var_dump($loader->napravi_niz()); //printamo formirani niz parova nominativ=>vokativ ?> Primer za testiranje klase i podešavanje podataka za konekciju prosleđivanjem liste parametara konstruktoru: Red promenljivih je jako bitan - MySQL host, MySQL korisnik, MySQL šifra, MySQL baza, MySQL tabela i na kraju MySQL port Možete izostaviti parametre od pozadi, dakle port, a ako izostavite port onda možete i tabelu, a ako izostavite ova dva možete i ime baze, itd... sve što izostavite biće zamenjeno podrazumevanim vrednostima Код: <?php include "loaders/mysql.class.php"; $loader = new Vokativ_MySQL('localhost','root','','baza','vokativ'); //kreiramo objekat klase Vokativ_MySQL, port je izostavljen i koristi se podrazumevana vrednost - 3306 var_dump($loader->napravi_niz()); //printamo formirani niz parova nominativ=>vokativ ?> Primer za testiranje klase i podešavanje podataka za konekciju prosleđivanjem niza parametara konstruktoru: Red promenljivih je jako bitan - MySQL host, MySQL korisnik, MySQL šifra, MySQL baza, MySQL tabela i na kraju MySQL port Možete izostaviti parametre od pozadi, dakle port, a ako izostavite port onda možete i tabelu, a ako izostavite ova dva možete i ime baze, itd... sve što izostavite biće zamenjeno podrazumevanim vrednostima Код: <?php include "loaders/mysql.class.php"; $parametri = array('localhost','root','','baza','vokativ',3306); //podesavanja za povezivanje na MySQL bazu $loader = new Vokativ_MySQL($parametri); //kreiramo objekat klase Vokativ_MySQL, prosledjujemo niz parametara var_dump($loader->napravi_niz()); //printamo formirani niz parova nominativ=>vokativ ?> Primer za testiranje klase i podešavanje podataka za konekciju prosleđivanjem asocijativnog niza parametara konstruktoru: Код: <?php include "loaders/mysql.class.php"; //podesavanja za povezivanje na MySQL bazu - ovde bilo koji parametar moze biti izostavljen i bice koriscen podrazumevani $parametri = array( 'host' => 'localhost', //podesavamo MySQL host 'user' => 'root', //podesavamo MySQL korisnika 'pass' => '', //podesavamo MySQL sifru 'db' => 'vokativ', //podesavamo ime baze podataka 'table' => 'vokativ'; //podesavamo ime tabele u bazi 'port' => 3306; //podesavamo MySQL port ); $loader = new Vokativ_MySQL($parametri); //kreiramo objekat klase Vokativ_MySQL, prosledjujemo niz parametara var_dump($loader->napravi_niz()); //printamo formirani niz parova nominativ=>vokativ ?> |