| Current Path : /var/www/www.indacotrentino.com/www/vendor/laminas/laminas-eventmanager/src/ |
| Current File : /var/www/www.indacotrentino.com/www/vendor/laminas/laminas-eventmanager/src/LazyEventListener.php |
<?php
namespace Laminas\EventManager;
use Psr\Container\ContainerInterface;
use function is_string;
/**
* Lazy listener instance for use with LazyListenerAggregate.
*
* Used as an internal class for the LazyAggregate to allow lazy creation of
* listeners via a dependency injection container.
*
* Lazy event listener definitions add the following members to what the
* LazyListener accepts:
*
* - event: the event name to attach to.
* - priority: the priority at which to attach the listener, if not the default.
*/
class LazyEventListener extends LazyListener
{
/** @var string Event name to which to attach. */
private $event;
/** @var null|int Priority at which to attach. */
private $priority;
/**
* @param array $definition
* @param array $env
*/
public function __construct(array $definition, ContainerInterface $container, array $env = [])
{
parent::__construct($definition, $container, $env);
if (
! isset($definition['event'])
|| ! is_string($definition['event'])
|| empty($definition['event'])
) {
throw new Exception\InvalidArgumentException(
'Lazy listener definition is missing a valid "event" member; cannot create LazyListener'
);
}
$this->event = $definition['event'];
$this->priority = isset($definition['priority']) ? (int) $definition['priority'] : null;
}
/**
* @return string
*/
public function getEvent()
{
return $this->event;
}
/**
* @param int $default
* @return int
*/
public function getPriority($default = 1)
{
return null !== $this->priority ? $this->priority : $default;
}
}