[COMPOSER] Add new php-ffmpeg package
This commit is contained in:
86
vendor/zendframework/zend-hydrator/src/Aggregate/AggregateHydrator.php
vendored
Normal file
86
vendor/zendframework/zend-hydrator/src/Aggregate/AggregateHydrator.php
vendored
Normal file
@@ -0,0 +1,86 @@
|
||||
<?php
|
||||
/**
|
||||
* Zend Framework (http://framework.zend.com/)
|
||||
*
|
||||
* @link http://github.com/zendframework/zf2 for the canonical source repository
|
||||
* @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
*/
|
||||
|
||||
namespace Zend\Hydrator\Aggregate;
|
||||
|
||||
use Zend\EventManager\EventManager;
|
||||
use Zend\EventManager\EventManagerAwareInterface;
|
||||
use Zend\EventManager\EventManagerInterface;
|
||||
use Zend\Hydrator\HydratorInterface;
|
||||
|
||||
/**
|
||||
* Aggregate hydrator that composes multiple hydrators via events
|
||||
*/
|
||||
class AggregateHydrator implements HydratorInterface, EventManagerAwareInterface
|
||||
{
|
||||
const DEFAULT_PRIORITY = 1;
|
||||
|
||||
/**
|
||||
* @var EventManagerInterface|null
|
||||
*/
|
||||
protected $eventManager;
|
||||
|
||||
/**
|
||||
* Attaches the provided hydrator to the list of hydrators to be used while hydrating/extracting data
|
||||
*
|
||||
* @param HydratorInterface $hydrator
|
||||
* @param int $priority
|
||||
*/
|
||||
public function add(HydratorInterface $hydrator, $priority = self::DEFAULT_PRIORITY)
|
||||
{
|
||||
$listener = new HydratorListener($hydrator);
|
||||
$listener->attach($this->getEventManager(), $priority);
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
public function extract($object)
|
||||
{
|
||||
$event = new ExtractEvent($this, $object);
|
||||
|
||||
$this->getEventManager()->triggerEvent($event);
|
||||
|
||||
return $event->getExtractedData();
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
public function hydrate(array $data, $object)
|
||||
{
|
||||
$event = new HydrateEvent($this, $object, $data);
|
||||
|
||||
$this->getEventManager()->triggerEvent($event);
|
||||
|
||||
return $event->getHydratedObject();
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
public function setEventManager(EventManagerInterface $eventManager)
|
||||
{
|
||||
$eventManager->setIdentifiers([__CLASS__, get_class($this)]);
|
||||
|
||||
$this->eventManager = $eventManager;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
public function getEventManager()
|
||||
{
|
||||
if (null === $this->eventManager) {
|
||||
$this->setEventManager(new EventManager());
|
||||
}
|
||||
|
||||
return $this->eventManager;
|
||||
}
|
||||
}
|
98
vendor/zendframework/zend-hydrator/src/Aggregate/ExtractEvent.php
vendored
Normal file
98
vendor/zendframework/zend-hydrator/src/Aggregate/ExtractEvent.php
vendored
Normal file
@@ -0,0 +1,98 @@
|
||||
<?php
|
||||
/**
|
||||
* Zend Framework (http://framework.zend.com/)
|
||||
*
|
||||
* @link http://github.com/zendframework/zf2 for the canonical source repository
|
||||
* @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
*/
|
||||
|
||||
namespace Zend\Hydrator\Aggregate;
|
||||
|
||||
use Zend\EventManager\Event;
|
||||
|
||||
/**
|
||||
* Event triggered when the {@see AggregateHydrator} extracts
|
||||
* data from an object
|
||||
*/
|
||||
class ExtractEvent extends Event
|
||||
{
|
||||
const EVENT_EXTRACT = 'extract';
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
protected $name = self::EVENT_EXTRACT;
|
||||
|
||||
/**
|
||||
* @var object
|
||||
*/
|
||||
protected $extractionObject;
|
||||
|
||||
/**
|
||||
* @var array
|
||||
*/
|
||||
protected $extractedData = [];
|
||||
|
||||
/**
|
||||
* @param object $target
|
||||
* @param object $extractionObject
|
||||
*/
|
||||
public function __construct($target, $extractionObject)
|
||||
{
|
||||
$this->target = $target;
|
||||
$this->extractionObject = $extractionObject;
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieves the object from which data is extracted
|
||||
*
|
||||
* @return object
|
||||
*/
|
||||
public function getExtractionObject()
|
||||
{
|
||||
return $this->extractionObject;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param object $extractionObject
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function setExtractionObject($extractionObject)
|
||||
{
|
||||
$this->extractionObject = $extractionObject;
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieves the data that has been extracted
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function getExtractedData()
|
||||
{
|
||||
return $this->extractedData;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param array $extractedData
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function setExtractedData(array $extractedData)
|
||||
{
|
||||
$this->extractedData = $extractedData;
|
||||
}
|
||||
|
||||
/**
|
||||
* Merge provided data with the extracted data
|
||||
*
|
||||
* @param array $additionalData
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function mergeExtractedData(array $additionalData)
|
||||
{
|
||||
$this->extractedData = array_merge($this->extractedData, $additionalData);
|
||||
}
|
||||
}
|
84
vendor/zendframework/zend-hydrator/src/Aggregate/HydrateEvent.php
vendored
Normal file
84
vendor/zendframework/zend-hydrator/src/Aggregate/HydrateEvent.php
vendored
Normal file
@@ -0,0 +1,84 @@
|
||||
<?php
|
||||
/**
|
||||
* Zend Framework (http://framework.zend.com/)
|
||||
*
|
||||
* @link http://github.com/zendframework/zf2 for the canonical source repository
|
||||
* @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
*/
|
||||
|
||||
namespace Zend\Hydrator\Aggregate;
|
||||
|
||||
use Zend\EventManager\Event;
|
||||
|
||||
/**
|
||||
* Event triggered when the {@see AggregateHydrator} hydrates
|
||||
* data into an object
|
||||
*/
|
||||
class HydrateEvent extends Event
|
||||
{
|
||||
const EVENT_HYDRATE = 'hydrate';
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
protected $name = self::EVENT_HYDRATE;
|
||||
|
||||
/**
|
||||
* @var object
|
||||
*/
|
||||
protected $hydratedObject;
|
||||
|
||||
/**
|
||||
* @var array
|
||||
*/
|
||||
protected $hydrationData;
|
||||
|
||||
/**
|
||||
* @param object $target
|
||||
* @param object $hydratedObject
|
||||
* @param array $hydrationData
|
||||
*/
|
||||
public function __construct($target, $hydratedObject, array $hydrationData)
|
||||
{
|
||||
$this->target = $target;
|
||||
$this->hydratedObject = $hydratedObject;
|
||||
$this->hydrationData = $hydrationData;
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieves the object that is being hydrated
|
||||
*
|
||||
* @return object
|
||||
*/
|
||||
public function getHydratedObject()
|
||||
{
|
||||
return $this->hydratedObject;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param object $hydratedObject
|
||||
*/
|
||||
public function setHydratedObject($hydratedObject)
|
||||
{
|
||||
$this->hydratedObject = $hydratedObject;
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieves the data that is being used for hydration
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function getHydrationData()
|
||||
{
|
||||
return $this->hydrationData;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param array $hydrationData
|
||||
*/
|
||||
public function setHydrationData(array $hydrationData)
|
||||
{
|
||||
$this->hydrationData = $hydrationData;
|
||||
}
|
||||
}
|
72
vendor/zendframework/zend-hydrator/src/Aggregate/HydratorListener.php
vendored
Normal file
72
vendor/zendframework/zend-hydrator/src/Aggregate/HydratorListener.php
vendored
Normal file
@@ -0,0 +1,72 @@
|
||||
<?php
|
||||
/**
|
||||
* Zend Framework (http://framework.zend.com/)
|
||||
*
|
||||
* @link http://github.com/zendframework/zf2 for the canonical source repository
|
||||
* @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
*/
|
||||
|
||||
namespace Zend\Hydrator\Aggregate;
|
||||
|
||||
use Zend\EventManager\AbstractListenerAggregate;
|
||||
use Zend\EventManager\EventManagerInterface;
|
||||
use Zend\Hydrator\HydratorInterface;
|
||||
|
||||
/**
|
||||
* Aggregate listener wrapping around a hydrator.
|
||||
*
|
||||
* Listens to {@see HydrateEvent::EVENT_HYDRATE} and {@see ExtractEvent::EVENT_EXTRACT}
|
||||
*/
|
||||
class HydratorListener extends AbstractListenerAggregate
|
||||
{
|
||||
/**
|
||||
* @var HydratorInterface
|
||||
*/
|
||||
protected $hydrator;
|
||||
|
||||
/**
|
||||
* @param HydratorInterface $hydrator
|
||||
*/
|
||||
public function __construct(HydratorInterface $hydrator)
|
||||
{
|
||||
$this->hydrator = $hydrator;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
public function attach(EventManagerInterface $events, $priority = 1)
|
||||
{
|
||||
$this->listeners[] = $events->attach(HydrateEvent::EVENT_HYDRATE, [$this, 'onHydrate'], $priority);
|
||||
$this->listeners[] = $events->attach(ExtractEvent::EVENT_EXTRACT, [$this, 'onExtract'], $priority);
|
||||
}
|
||||
|
||||
/**
|
||||
* Callback to be used when {@see HydrateEvent::EVENT_HYDRATE} is triggered
|
||||
*
|
||||
* @param HydrateEvent $event
|
||||
* @return object
|
||||
* @internal
|
||||
*/
|
||||
public function onHydrate(HydrateEvent $event)
|
||||
{
|
||||
$object = $this->hydrator->hydrate($event->getHydrationData(), $event->getHydratedObject());
|
||||
$event->setHydratedObject($object);
|
||||
return $object;
|
||||
}
|
||||
|
||||
/**
|
||||
* Callback to be used when {@see ExtractEvent::EVENT_EXTRACT} is triggered
|
||||
*
|
||||
* @param ExtractEvent $event
|
||||
* @return array
|
||||
* @internal
|
||||
*/
|
||||
public function onExtract(ExtractEvent $event)
|
||||
{
|
||||
$data = $this->hydrator->extract($event->getExtractionObject());
|
||||
$event->mergeExtractedData($data);
|
||||
return $data;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user