Crud\Controller\Component\CrudComponent::_loadListener PHP Method

_loadListener() protected method

Load a single event class attached to Crud.
protected _loadListener ( string $name ) : BaseListener
$name string Name
return Crud\Listener\BaseListener
    protected function _loadListener($name)
    {
        if (!isset($this->_listenerInstances[$name])) {
            $config = $this->config('listeners.' . $name);
            if (empty($config)) {
                throw new ListenerNotConfiguredException(sprintf('Listener "%s" is not configured', $name));
            }
            $className = App::classname($config['className'], 'Listener', 'Listener');
            if (empty($className)) {
                throw new MissingListenerException('Could not find listener class: ' . $config['className']);
            }
            $this->_listenerInstances[$name] = new $className($this->_controller);
            unset($config['className']);
            $this->_listenerInstances[$name]->config($config);
            $this->_eventManager->on($this->_listenerInstances[$name]);
            if (is_callable([$this->_listenerInstances[$name], 'setup'])) {
                $this->_listenerInstances[$name]->setup();
            }
        }
        return $this->_listenerInstances[$name];
    }