1: <?php
2:
3: namespace PHPixie\ORM\Loaders;
4:
5: abstract class Loader implements \IteratorAggregate
6: {
7: protected $loaders;
8:
9: public function __construct($loaders)
10: {
11: $this->loaders = $loaders;
12: }
13:
14: public function asArray($entitiesAsObjects = false)
15: {
16: $array = array();
17: foreach ($this as $entity) {
18: if ($entitiesAsObjects) {
19: $entity = $entity->asObject(true);
20: }
21: $array[] = $entity;
22: }
23:
24: return $array;
25: }
26:
27: public function getIterator()
28: {
29: return $this->loaders->iterator($this);
30: }
31:
32: abstract public function offsetExists($offset);
33: abstract public function getByOffset($offset);
34: }
35: