MngDB
Anze
anze at volja.net
Wed Sep 25 13:56:35 CEST 2002
Zivjo!
Priblizno eno leto nazaj sem se lotil izdelave neke knjiznice za PHP, ker
nisem nasel nobene podobne na Netu. Pomagala naj bi pri
vnasanju/popravljanju/brisanju zapisov v SQL bazi, in sicer bi moral
programer samo opisati, kaksna polja obstajajo v bazi, knjiznica pa bi
poskrbela za vse ostalo.
Vse skupaj je zdaj dovolj dalec, da bi rad objavil na Netu pod GPL, pa me
zanima, ce je kdo ze kdaj uporabljal kaksno podobno knjiznico - ce taka
knjiznica ze obstaja, bi si jo rad ogledal, preden naredim zmedo s se eno.
Bolje ena res dobra knjiznica kot pa 10 povprecnih...
Bolj podroben opis:
Recimo, da imas SQL tabelo:
create table testnaTabela (id int(6), ime varchar(100), opis blob,
zanimiv enum('N','Y') not null default 'N');
V datoteko mng_testna.php das vrstice:
<?
include("MngDB.phpinc");
class testnaMngDB extends MngDB
{
var $fieldDefs=array(
"ime" => array (
"type" => "line",
"queryString" => "Vase ime:"
)
"opis" => array (
"type" => "text",
"queryString" => "Opis - kaj pocnete, koga poznate,..."
)
"zanimiv" => array (
"type" => "flag"
"queryString" => "Ste zanimivi za nas?"
)
);
var $DBName="testnaTabela";
}
$m=&new testnaMngDB();
$m->admin();
?>
Ko prides na stran mng_testna.php, se ti pojavi obrazec za vnos v bazo
(<input type="text">,<textarea> in <input type="checkbox">), spodaj so
nasteti zapisi, ki so ze v bazi, lahko kliknes na katerega od njih in jih
spreminjas,... Zgornji primer popolnoma zadostuje za vnos, spreminjanje in
brisanje recordov iz baze.
To je sicer zelo enostaven primer, knjiznica namrec sploh ne predpostavlja,
da delas samo na eni bazi. Ena baza sicer mora biti glavna, vendar lahko
polja uporabljajo tudi druge baze za svoje potrebe. Knjiznica je zelo
objektna, en class (MngDB) poskrbi za ogrodje, cel kup classov (flagMngType,
lineMngType, textMngType,...) pa poskrbi za to, kako se kaksen tip polja
obnasa - kako se vnasa, spreminja, brise, kopira vrednosti.
Vse je narejeno tako, da se da uporabiti za prakticno vse primere. Jaz sem
naredil celo trgovino z uporabo te knjiznice. Knjiznica uporablja PHPlib,
vendar samo za template in za dostop do baz. Daljsi opis in sourci sledijo na
kaksni WWW strani, ampak, kot sem rekel, najprej bi rad izvedel, ali kaj
takega ze obstaja.
LP!
Anze
More information about the lugos-prog
mailing list