.PHP Framework
is een php framework voor databases, tot nu toe alleen ondersteuning voor MySQL, maar de database communicatie verloopt via 1 centrale class (en dan in mijn geval naar een MySQL class, maar er kunnen dus ook andere databases class toegevoegt worden.
code:
1
2
3
4
5
6
7
| $server::init();
$server->blaatnaam = new MySQL('host','pass','username');
$server->blaatnaam->database("db_1");
$server->blaatnaam->database("db_2");
$server->anderehost = new Mysql('host','pass','username');
$server->anderehost->database("db_3");
$analyzer = new Analyzer($server->display()); |
Deze framework analyseert 1 of meerdere databases, legt relaties; single, foreign, multi, external_single en external_foreign (external gaat naar andere databases), schrijft voor elke tabel een class + plugin weg, elke tabel word dus een object:
code:
1
2
3
| $object = new db_1_tbl_blaat();
$object->str_veld = 'blaat';
$object->save(); //hoeft niet, __destruct() saved ook. |
ook word er gebruik gemaakt van modules (form generator, kant en klaar form voor de table, en een tabel generator, kant en klaar tabel overzicht van de inhoud van de table).
de communicatie verloopt van object->object.class->server->databaseclass. Object class is de class die in het midden van alles staat, hier zitten (centrale) functies voor opslaan, updatten, ophalen en zoeken van data, geheel dynamisch.
de plugins bestaan uit 2 switches, 1 die luisterd naar $_POST, en 1 die luisterd naar $_GET. Deze plugins zijn voor de navigatie, weergeven van forms, weergeven van data, en het verwerken van forms (save) of verwijderen van data.
Het nut hiervan? Ervaring, kant en klaar c.m.s. na het maken van een database, en vooral makkelijk te customizen naar een website.
Het is nog erg in beta, op me werk gebruik ik het al voor een nieuwe backend applicatie. Tevens zit er wat code in verwerkt van Schizoduckie (analyzer + virtual objecter = zoeken van relaties). Uiteraard ontbreken aantal simpele modules niet (Files, Form s(generator, Tables (generator), Cookies (lekker makkelijk cookies zetten/ophalen), XML (array2xml, custom xml, xml2array),Sendmail (ook gewoon makkelijk), Listing (array2 ul/li lists, handig voor menus enzo

).
Voor de rest een leuke Template engine:
code:
1
2
| $_TPL = new Template("default.tpl");
$_TPL->content = 'Hallo' // <div id="content">@content@</div> |
in eerste instantie word @content@ vervangen van 'Hallo', maar als er ge-ajaxed word, word de id="content' gebruikt. Zo kan ik dus $_TPL->blaat = blaat blijven vullen of het nou ajax of gewoon is.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
| if(empty($_GET) && empty($_POST))
{
ob_start();
echo $_TPL->display();
ob_flush();
}
else
{
//DISPLAYING TROUGH AJAX
if($_POST['action'] == 'save')
{
die($_TPL->content);
}
else
{
if(is_array($_TPL->values))
{
$ajax = new Ajax();
foreach($_TPL->values as $key => $value)
{
$ajax->properties[$key] = $_TPL->$key;
}
ob_get_contents();
$ajax->display();
}
}
} |
Class Ajax (originele naam is JsObject) is ook van Schizoduckie
[
Voor 162% gewijzigd door
Mister_X op 22-05-2007 12:49
]