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 |
HydratorListener.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\AbstractListenerAggregate;
13 use Zend\EventManager\EventManagerInterface;
14 use Zend\Stdlib\Hydrator\HydratorInterface;
15
16 /**
17 * Aggregate listener wrapping around a hydrator. Listens
18 * to {@see \Zend\Stdlib\Hydrator\Aggregate::EVENT_HYDRATE} and
19 * {@see \Zend\Stdlib\Hydrator\Aggregate::EVENT_EXTRACT}
20 */
21 class HydratorListener extends AbstractListenerAggregate
22 {
23 /**
24 * @var \Zend\Stdlib\Hydrator\HydratorInterface
25 */
26 protected $hydrator;
27
28 /**
29 * @param \Zend\Stdlib\Hydrator\HydratorInterface $hydrator
30 */
31 public function __construct(HydratorInterface $hydrator)
32 {
33 $this->hydrator = $hydrator;
34 }
35
36 /**
37 * {@inheritDoc}
38 */
39 public function attach(EventManagerInterface $events, $priority = 1)
40 {
41 $this->listeners[] = $events->attach(HydrateEvent::EVENT_HYDRATE, array($this, 'onHydrate'), $priority);
42 $this->listeners[] = $events->attach(ExtractEvent::EVENT_EXTRACT, array($this, 'onExtract'), $priority);
43 }
44
45 /**
46 * Callback to be used when {@see \Zend\Stdlib\Hydrator\Aggregate\HydrateEvent::EVENT_HYDRATE} is triggered
47 *
48 * @param \Zend\Stdlib\Hydrator\Aggregate\HydrateEvent $event
49 *
50 * @return object
51 *
52 * @internal
53 */
54 public function onHydrate(HydrateEvent $event)
55 {
56 $object = $this->hydrator->hydrate($event->getHydrationData(), $event->getHydratedObject());
57
58 $event->setHydratedObject($object);
59
60 return $object;
61 }
62
63 /**
64 * Callback to be used when {@see \Zend\Stdlib\Hydrator\Aggregate\ExtractEvent::EVENT_EXTRACT} is triggered
65 *
66 * @param \Zend\Stdlib\Hydrator\Aggregate\ExtractEvent $event
67 *
68 * @return array
69 *
70 * @internal
71 */
72 public function onExtract(ExtractEvent $event)
73 {
74 $data = $this->hydrator->extract($event->getExtractionObject());
75
76 $event->mergeExtractedData($data);
77
78 return $data;
79 }
80 }
81