Ngp
From xbe wiki
Contents |
Requirements
PHP
PHP >= 5.2 (json_encode/json_decode required) -> alternate with the pecl module MySQL >= 5.x
modules
- mysql
- pcre
- session
- simplexml
- pcntl (cli)
- sockets (cli)
- posix (cli)
- shmop (cli)
PEAR
nötige module:
- Cache_Lite
- HTML_Common
- HTML_Table
- HTML_QuickForm
- HTML_QuickForm_Renderer_Tableless
- Net_Server (requires PHP with pcntl)
- PHP_Fork (requires PHP with posix/shmop)
XML settings
fields
<field>
- savefunction
string; sagt aus, was bei einem save aufgerufen werden soll. beispiel: "mysql::md5", "php:strtolower", "myfunction".. bei namespaces mit "::" soll entweder eine php oder mysql funktion aufgerufen werden, dabei ist dann die auswahl darauf eingegrenzt auf functions mit nur 1 param..
bei einer angabe ohne namespace ("myfunction") soll direkt eine funktion im module aufgerufen werden und deren return value ist entscheidend..
- hideonlist
wenn true, wird das feld nur im edit/new record angezeigt, nicht jedoch in der list-table (ngpTableBuilder)
- showalwaysempty
wenn true, wird das feld immer einfach leer angezeigt. notwendig z.b. für passwort-felder, die sollen ja bei new wie auch bei edit aus logikgründen leer sein bzw so dargestellt werden..
</field>
modules
general functionality
wenn man nur ein einfaches form hat welches zeugs speichert und das modul nur ein einfaches listing benötigt, kann es ohne grosse mühe durch das framework abgedeckt werden (die funktionalität)
es sind in ModuleBase die generellen funktionen do_edit(), do_new(), do_list() definieriert..
das ganze funktioniert unter folgenden umständen
- der primary key der table muss "id" heissen
- es muss einfaches clientside-validating reichen + keine speziellen filterfunktionen (einfache aufrufe ok..) [onsave-hook]
- das definierte und eigentlich einzige formular muss "default" heissen. ab 2 forms gehts momentan ned..