Verzeichnisstruktur phpBB-3.2.0
- Veröffentlicht
- 06.01.2017
So funktioniert es
|
Auf das letzte Element klicken. Dies geht jeweils ein Schritt zurück |
Auf das Icon klicken, dies öffnet das Verzeichnis. Nochmal klicken schließt das Verzeichnis. |
|
(Beispiel Datei-Icons)
|
Auf das Icon klicken um den Quellcode anzuzeigen |
AggregateHydrator.php
01 <?php
02 /**
03 * Zend Framework (http://framework.zend.com/)
04 *
05 * @link http://github.com/zendframework/zf2 for the canonical source repository
06 * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
07 * @license http://framework.zend.com/license/new-bsd New BSD License
08 */
09
10 namespace Zend\Stdlib\Hydrator\Aggregate;
11
12 use Zend\EventManager\EventManager;
13 use Zend\EventManager\EventManagerAwareInterface;
14 use Zend\EventManager\EventManagerInterface;
15 use Zend\Stdlib\Hydrator\HydratorInterface;
16
17 /**
18 * Aggregate hydrator that composes multiple hydrators via events
19 */
20 class AggregateHydrator implements HydratorInterface, EventManagerAwareInterface
21 {
22 const DEFAULT_PRIORITY = 1;
23
24 /**
25 * @var \Zend\EventManager\EventManagerInterface|null
26 */
27 protected $eventManager;
28
29 /**
30 * Attaches the provided hydrator to the list of hydrators to be used while hydrating/extracting data
31 *
32 * @param \Zend\Stdlib\Hydrator\HydratorInterface $hydrator
33 * @param int $priority
34 */
35 public function add(HydratorInterface $hydrator, $priority = self::DEFAULT_PRIORITY)
36 {
37 $this->getEventManager()->attachAggregate(new HydratorListener($hydrator), $priority);
38 }
39
40 /**
41 * {@inheritDoc}
42 */
43 public function extract($object)
44 {
45 $event = new ExtractEvent($this, $object);
46
47 $this->getEventManager()->trigger($event);
48
49 return $event->getExtractedData();
50 }
51
52 /**
53 * {@inheritDoc}
54 */
55 public function hydrate(array $data, $object)
56 {
57 $event = new HydrateEvent($this, $object, $data);
58
59 $this->getEventManager()->trigger($event);
60
61 return $event->getHydratedObject();
62 }
63
64 /**
65 * {@inheritDoc}
66 */
67 public function setEventManager(EventManagerInterface $eventManager)
68 {
69 $eventManager->setIdentifiers(array(__CLASS__, get_class($this)));
70
71 $this->eventManager = $eventManager;
72 }
73
74 /**
75 * {@inheritDoc}
76 */
77 public function getEventManager()
78 {
79 if (null === $this->eventManager) {
80 $this->setEventManager(new EventManager());
81 }
82
83 return $this->eventManager;
84 }
85 }
86