1: <?php
2:
3: namespace PHPixie\ORM\Mappers\Cascade;
4:
5: class Path
6: {
7: protected $mappers;
8: protected $sides = array();
9: protected $models = array();
10:
11: public function __construct($mappers)
12: {
13: $this->mappers = $mappers;
14: }
15:
16: public function addSide($side)
17: {
18: $this->sides[]= $side;
19: $this->models[$side->modelName()] = true;
20: }
21:
22: public function containsModel($modelName)
23: {
24: return array_key_exists($modelName, $this->models);
25: }
26:
27: public function sides()
28: {
29: return $this->sides;
30: }
31:
32: public function copy()
33: {
34: $path = $this->mappers->cascadePath($this->sides);
35: foreach($this->sides as $side) {
36: $path->addSide($side);
37: }
38: return $path;
39: }
40: }