[ create a new paste ] login | about

Link: http://codepad.org/KwcLZSPG    [ raw code | fork ]

fede - PHP, pasted on Mar 19:
<?php
// Entity
class Book 
{
    private $id;
    private $title;

    public function __construct($id, $title)
    {
        $this->id = $id;
        $this->title = $title;
    }

    ... getters and setters methods ...
}

// Collection
class Books
{
    private $books = array();

    public function __construct(array $elements)
    {
        foreach ($elements as $element) {
            $this->add($element);
        }
    }

    public function add(Book $book)
    {
        $this->books[] = $book;
    }

    public function toArray()
    {
        return $this->books;
    }
}

// DAO (Data access object)
class BookDao 
{
    public function findBookByName($name)
    {
        $db = Database::getInstance();
        $row = $db->select('book')->where('name = ?', $name);
        return new Book($row['id'], ['title']);
    }

    public function findAll()
    {
        $db = Database::getInstance();
        $rows = $db->select('book');
        return new Books($rows);
    }
}

// Registry
class Registry
{
    private static $objects = array();

    public static function get($index){}
    public static function set($index, $value){}
    public static function isRegistered($index){}
}

$dao = new BookDao();
Registry::set('BookDao', $dao);

...

$dao = Registry::get('BookDao');
$books = $dao->findAll();
foreach ($books->toArray() as $index => $book) {
    echo $book->getTitle();
}


Create a new paste based on this one


Comments: