Manual
From Sum-e Wiki
Contents |
License
GPL v3
Config file
To use Entity class you need to declare a few constants:
define( 'DB_TYPE', 'mysql' ); define( 'DB_HOSTNAME', 'localhost' ); define( 'DB_NAME', 'test_database' ); define( 'DB_USER', 'test_user' ); define( 'DB_PASSWORD', 'test_password' );
Example of use
Collection of results
$entity = new Entity(); // will create connection to database $query ="SELECT * FROM test"; $dao_objects = $entity->Collection( $query );
Retrieve one result
$entity = new Entity(); $query = "SELECT * FROM test WHERE column_1 = ? AND column_2 = ?"; $object = $entity->GetFirstResult( $query, array( $value_1, $value_2 ) );
Perform query on database
$query = "INSERT INTO test ( column_1 ) VALUES ( ? )"; $entity = new Entity(); $entity->Query( $query, array( $value ) );
DAO - beauty of code
Create model class:
class User extends Entity
{
protected $schema = array( 'id', 'username', 'password', 'last_login' );
// this function must be written each time you write dao class for entity until php 6
static function Retrieve( $id )
{
$query = "SELECT * FROM user WHERE id = ?";
$entity = new Entity();
return $entity->GetFirstResult( $query, array( $id ), __CLASS__ );
}
function Login( $username, $password )
{
$query = "SELECT * FROM user WHERE username = ? AND assword = md5( ? )";
$entity = new Entity();
return $this->GetFirstResult( $query, array( $username, $password ), __CLASS__ );
}
}
$schema represents all table columns. Create table for this example will look like:
CREATE TABLE user ( id SERIAL, username VARCHAR(255), password VARCHAR(32), lastlogin INT(10) );
Retrieve object by id
$user = User::Retrieve( $id );
Retrieve object by model method example
$user = User::Login( $username, $password ); $user->password = md5( $new_password ); // to change password $user->Save(); // will update all fields in $user->schema
DAO
$user = new User(); $user->username = $username; $user->password = md5( $password ); $user->Save();

