Home | Sourceforge project page | Download | Example | Documentation | Applications based on simpleMVC : myGifts
Our example application manages Items. An Item has a name, and can be displayed, created, modified, deleted, ...
Item.class.php
<?php
class Item {
var $id;
var $name;
// load an Item from the database
function Item($id)
{
global $database;
$database->loadObject($this, "select * from items where id=$id");
}
// save an Item to the database
function saveItem($name)
{
global $database;
if (!empty($this->id))
$database->query("update items set name='".addslashes($name)."' where id=".$this->id);
else
$database->query("insert into items (name) values('".addslashes($name)."')");
}
// deletes an Item to the database
function deleteItem()
{
global $database;
if (!empty($this->id))
$database->query("delete from items where id=".$this->id);
}
}
// register handlers
// The displayItem is a display handler, and needs an id as parameter.
Controler::registerHandler("displayItem", "display", "Item", array("id"));
// The editItem is a display handler, and needs an id as parameter. The user has to be logged.
Controler::registerHandler("editItem", "display", "Item", array("id"), true);
// The saveItem is an action handler, and needs an id and a name as parameters. The user has to be logged.
Controler::registerHandler("saveItem", "action", "Item", array("id", "name"), true);
// The saveItem is an action handler, and needs an id as parameter. The user has to be logged.
Controler::registerHandler("deleteItem", "action", "Item", array("id"), true);
?>
displayItem.tpl
<html>
<head><title>Item {$object->name}</title></head>
<body>
<p>Here is item {$object->name}</p>
<p>You can {mvc_link handler="editItem" id=$gift.id}modify{/mvc_link} or {mvc_link handler="deleteItem" id=$gift.id}delete{/mvc_link} it.</p>
</p>
</body>
</html>
http://mysite/simpleMVC/index.php?handler=displayItem&id=3