codepad
[
create a new paste
]
login
|
about
Language:
C
C++
D
Haskell
Lua
OCaml
PHP
Perl
Plain Text
Python
Ruby
Scheme
Tcl
<?php // Entity class Element { private $id; private $title; public function __construct($id, $title) { $this->id = $id; $this->title = $title; } // getters and setters methods ... } // Collection class Page { private $id; // has many elements (one-to-many) private $elements = array(); public function __construct($id) { $this->id = $id; } public function setElements(array $elements) { foreach ($elements as $element) { $object = new Element($element['id'], $element['title']); $this->addToElements($object); } } public function getElements() { return $this->elements; } public function addToElements(Element $element) { $this->elements[] = $element; } } // DAO (Data access object) class ElementDao { public function findAllByPageId($pageId) { $db = Database::getInstance(); $rows = $db->select('element'); return $rows; } } class PageDao { private $elementDao; public function __construct(ElementDao $elementDao) { $this->elementDao = $elementDao; } public function findById($id) { $db = Database::getInstance(); $row = $db->select('page')->where('id = ?', $id); $page = new Page($row['id']); $pageElements = $this->elementDao->findAllByPageId($id); $page->setElements($pageElements); return $page; } } $elementDao = new ElementDao(); $pageDao = new PageDao($elementDao); $page = $pageDao->findById(1); foreach ($page->getElements() as $index => $element) { echo $element->getTitle(); }
Private
[
?
]
Run code