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