'Zend\Paginator\Adapter\ArrayAdapter', 'iterator' => 'Zend\Paginator\Adapter\Iterator', 'null' => 'Zend\Paginator\Adapter\Null', ); /** * Default set of adapter factories * * @var array */ protected $factories = array( 'dbselect' => 'Zend\Paginator\Adapter\Service\DbSelectFactory' ); /** * Attempt to create an instance via a factory * * @param string $canonicalName * @param string $requestedName * @return mixed * @throws \Zend\ServiceManager\Exception\ServiceNotCreatedException If factory is not callable */ protected function createFromFactory($canonicalName, $requestedName) { $factory = $this->factories[$canonicalName]; if (is_string($factory) && class_exists($factory, true)) { $factory = new $factory($this->creationOptions); $this->factories[$canonicalName] = $factory; } return parent::createFromFactory($canonicalName, $requestedName); } /** * Validate the plugin * * Checks that the adapter loaded is an instance * of Adapter\AdapterInterface. * * @param mixed $plugin * @return void * @throws Exception\RuntimeException if invalid */ public function validatePlugin($plugin) { if ($plugin instanceof Adapter\AdapterInterface) { // we're okay return; } throw new Exception\RuntimeException(sprintf( 'Plugin of type %s is invalid; must implement %s\Adapter\AdapterInterface', (is_object($plugin) ? get_class($plugin) : gettype($plugin)), __NAMESPACE__ )); } }