Exemplo n.º 1
0
 /**
  * Get a search manager instance for testing search objects.
  *
  * @return \VuFind\Search\Manager
  */
 public function getSearchManager()
 {
     $sm = $this->getServiceManager();
     if (!$sm->has('SearchManager')) {
         $searchManager = new \VuFind\Search\Manager(array('default_namespace' => 'VuFind\\Search'));
         $searchManager->setServiceLocator($sm);
         $sm->setService('SearchManager', $searchManager);
     }
     return $sm->get('SearchManager');
 }
Exemplo n.º 2
0
 /**
  * Set up plugin managers.
  *
  * @return void
  */
 protected function initPluginManagers()
 {
     $app = $this->event->getApplication();
     $serviceManager = $app->getServiceManager();
     $config = $app->getConfig();
     // Use naming conventions to set up a bunch of services based on namespace:
     $namespaces = array('Auth', 'Autocomplete', 'Db\\Table', 'ILS\\Driver', 'Recommend', 'RecordDriver', 'Related', 'Resolver\\Driver', 'Session', 'Statistics\\Driver');
     foreach ($namespaces as $ns) {
         $serviceName = str_replace('\\', '', $ns) . 'PluginManager';
         $className = 'VuFind\\' . $ns . '\\PluginManager';
         $configKey = strtolower(str_replace('\\', '_', $ns)) . '_plugin_manager';
         $service = new $className(new ServiceManagerConfig($config[$configKey]));
         if ($service instanceof ServiceLocatorAwareInterface) {
             $service->setServiceLocator($serviceManager);
         }
         $serviceManager->setService($serviceName, $service);
     }
     // Set up search manager a little differently -- it is a more complex class
     // that doesn't work like the other standard plugin managers.
     $manager = new \VuFind\Search\Manager($config['search_manager']);
     $manager->setServiceLocator($serviceManager);
     $serviceManager->setService('SearchManager', $manager);
     // TODO: factor out static connection manager.
     \VuFind\Connection\Manager::setServiceLocator($serviceManager);
 }