some more code examples

This commit is contained in:
kbariotis 2013-05-13 20:48:37 +03:00
parent 73cd3bf9cd
commit a2c33a4c58
3 changed files with 17 additions and 7 deletions

View File

@ -10,10 +10,18 @@ namespace DesignPatterns;
$userMapper = new UserMapper();
$user = $userMapper->find(1);
// fetch a record from Database
$user = $userMapper->findById(1);
if ($user !== null) {
echo "Hello " . $user->getUsername() . ". Your email is " . $user->getEmail();
}
// save a new record on Database
var $newUser = new User('', 'Odysseus', 'Odysseus@ithaca.gr');
$userMapper->save($newUser);
// fetch all from a table on Database
var $user = $userMapper->findAll();
?>

View File

@ -14,11 +14,11 @@ class User
protected $username;
protected $email;
public function __construct(array $options = null)
public function __construct($id, $username, $email)
{
if (is_array($options)) {
$this->setOptions($options);
}
$this->id = $id;
$this->username = $username;
$this->email = $email;
}
public function getUserId() {

View File

@ -31,8 +31,8 @@ class UserMapper
/**
* create new Database connector on $_adapter using specific table
*
* $_adapter var could be a specific to a table class or a generic interface for
* connecting to Database and do certain jobs
* $_adapter var could be a specific to a table class or a generic
* interface for connecting to Database and do certain jobs
*/
}
@ -43,12 +43,14 @@ class UserMapper
*/
public function save(User $user)
{
// $data keys shoulds correspond to valid Table columns on the Database
$data = array(
'userid' => $user->getUserId(),
'username' => $user->getUsername(),
'email' => $user->getEmail(),
);
// if no ID specified create new user else update the one in the Database
if (null === ($id = $user->getUserId())) {
unset($data['userid']);
$this->_adapter->insert($data);