myEngine

2008

The library is designed to be a base for common operations over the mySQL database in web-page runtime. Supports most common mySQL operations like load, save, count and list records. Expects only one database on instance (defined in config file).

Contains three key-classes:

  • myEngine - base class for loading, saving, executing SQL commands, basic error handling etc
  • myRecord - class for defining table specific behavior. Defines listRecord, standaloneView and editor functions for one table which are helping (and unifiing) the output and operations over the tables. Standalone is a full view of record content, listRecord is brief (list) entry and editor is a piece of HTML code for editing the content of record.
  • myList - controls, how to list (dump) the content of the table. If feeded with myRecord, lists instantly the content of the table - most common operation on web ;) The listing can be driven by  paginator (page-controlling link set) and custom filtering SQL sentence.

Details in function headers in myEngine.php file.

Used in MarkWare, KODA, Vela, MAC projects.

Knihovna navržená jako základ pro nejčastějčí operace s mySQL databází ve webových aplikacích. Podporuje nejčastější mySQL akce jako nahrání a uložení dat, potčy a výpisy. Předpokládá se jedna databáze na instanci definovaná v konfiguračním souboru.

Obsahuje tři klíčové třídy:

  • myEngine - základní třída pro nahrávání, ukládání, provádění SQL příkazů a jednoduchoé ošetření chyb.
  • myRecord - třída pro definici specifického chování dat v dané tabulce. Definuje funkce listRecord, standaloneView a editor, které pomáhají a sjednocují chování a výstup. Standalone je plný výpis dané položky, listRecord je zkrácený výpis pro použití v seznamech, editor je kus HTML kódu určený ke změně/editaci obsahu položky.
  • myList - řídí výpis seznamu položek tabulky. Pokud je "nakrmen" objektem myRecord, slouží ke snadnému vytváření seznamů - což je nejčastější operace na webu ;) Výpis může být řízen paginatorem (sadou odkazů pro stránkovou navigaci) a uživatelským SQL filtrem.

Podrobnosti jsou zřejmé z popisu jednotlivých funkcí v myEngine.php.

Použito v projektech: MarkWare, KODA, Vela, MAC.

ME

Download

myEngine.zip

Code demo

Ukázka kódu

include "myEngine.php";
// ----------------------------- RECORD
class program extends myRecord
{
var $table='program';
var $keyfield='id';

function listRecord()
{
    echo
    $this->dbrow['datum'].' '.
    $this->dbrow['subject'].' '.
    $this->dbrow['note'];

}

function listHead() {echo 'Datum / subject / note ';}

}

// ----------------------------- LIST
class pList extends myList
{
var $recordsPerPage = 20;
var $table = "program";

function query($table,$sortkey)
  {return "FROM `$table` ORDER BY `year` DESC, `month` DESC ";}
}

// ---------------------------- MAIN
$prg = new program();
$lst = new pList($prg);
$lst->make();
?>

mixlab page - © M.i.X 2008-2017