[ Index ] |
PHP Cross Reference of phpBB-3.2.11-deutsch |
[Summary view] [Print] [Text view]
1 <?php 2 /** 3 * Zend Framework (http://framework.zend.com/) 4 * 5 * @link http://github.com/zendframework/zf2 for the canonical source repository 6 * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com) 7 * @license http://framework.zend.com/license/new-bsd New BSD License 8 */ 9 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 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Wed Nov 11 20:33:01 2020 | Cross-referenced by PHPXref 0.7.1 |