public function createService(ServiceLocatorInterface $serviceLocator)
 {
     $helper = new Navigation();
     $helper->setServiceLocator($serviceLocator);
     $config = $serviceLocator->getServiceLocator()->get('config');
     if (isset($config['navigation_helpers'])) {
         $config = new \Zend\ServiceManager\Config($config['navigation_helpers']);
         $config->configureServiceManager($helper->getPluginManager());
     }
     return $helper;
 }
Example #2
0
 /**
  * Configure the provided service manager instance with the configuration
  * in this class.
  *
  * Simply adds a factory for the navigation helper, and has it inject the helper
  * with the service locator instance.
  *
  * @param  ServiceManager $serviceManager
  * @return void
  */
 public function configureServiceManager(ServiceManager $serviceManager)
 {
     $serviceManager->setFactory('navigation', function (HelperPluginManager $pm) {
         $helper = new \Zend\View\Helper\Navigation();
         $helper->setServiceLocator($pm->getServiceLocator());
         $config = $pm->getServiceLocator()->get('config');
         if (isset($config['navigation_helpers'])) {
             $config = new \Zend\ServiceManager\Config($config['navigation_helpers']);
             $config->configureServiceManager($helper->getPluginManager());
         }
         return $helper;
     });
 }
 /**
  * Construct the search backend manager.
  *
  * @param ServiceManager $sm Service manager.
  *
  * @return \VuFind\Search\BackendManager
  */
 public static function getSearchBackendManager(ServiceManager $sm)
 {
     $config = $sm->get('config');
     $smConfig = new \Zend\ServiceManager\Config($config['vufind']['plugin_managers']['search_backend']);
     $registry = $sm->createScopedServiceManager();
     $smConfig->configureServiceManager($registry);
     $manager = new \VuFind\Search\BackendManager($registry);
     return $manager;
 }
Example #4
0
<?php

namespace Upjv\LicPro;

require './vendor/autoload.php';
class LicencePro
{
    static $NbrInstance = 0;
    function __construct()
    {
        self::$NbrInstance++;
    }
    function __destruct()
    {
        self::$NbrInstance--;
    }
    static function getNbrInstance()
    {
        return self::$NbrInstance;
    }
}
$sm = new \Zend\ServiceManager\ServiceManager();
$smc = new \Zend\ServiceManager\Config(include 'config.php');
$smc->configureServiceManager($sm);
//$sm->setInvokableClass('promo','LicencePro');
$sm->setShared('Upjv\\LicPro\\LicencePro', false);
$obj = $sm->get('Upjv\\LicPro\\LicencePro');
echo LicencePro::getNbrInstance() . "\n";
$obj1 = $sm->get('Upjv\\LicPro\\LicencePro');
echo LicencePro::getNbrInstance() . "\n";
Example #5
0
 /**
  * Support method for getServiceManager()
  *
  * @return void
  */
 protected function setupSearchService()
 {
     $smConfig = new \Zend\ServiceManager\Config(['factories' => ['Solr' => 'VuFind\\Search\\Factory\\SolrDefaultBackendFactory', 'SolrAuth' => 'VuFind\\Search\\Factory\\SolrAuthBackendFactory']]);
     $registry = $this->serviceManager->createScopedServiceManager();
     $smConfig->configureServiceManager($registry);
     $bm = new \VuFind\Search\BackendManager($registry);
     $this->serviceManager->setService('VuFind\\Search\\BackendManager', $bm);
     $ss = new \VuFindSearch\Service();
     $this->serviceManager->setService('VuFind\\Search', $ss);
     $fh = new \VuFind\Search\Solr\HierarchicalFacetHelper();
     $this->serviceManager->setService('VuFind\\HierarchicalFacetHelper', $fh);
     $events = $ss->getEventManager();
     $events->attach('resolve', [$bm, 'onResolve']);
 }
 /**
  * Get new model instance via service manager
  *
  * This method allows temporarily overriding services with manually supplied
  * instances. This is useful for injecting mock objects which will be passed
  * to the model's constructor by a factory. A clone of the service manager is
  * used to avoid interference with other tests.
  *
  * @param array $overrideServices Optional associative array (name => instance) with services to override
  * @return object Model instance
  */
 protected function _getModel(array $overrideServices = array())
 {
     $serviceManager = \Library\Application::getService('ServiceManager');
     if (!empty($overrideServices)) {
         // Clone service manager to keep changes local.
         $serviceManager = clone $serviceManager;
         $serviceManager->setAllowOverride(true);
         // Reset SM config. This will force a new instance of our model to
         // be created with overriden services.
         $module = $serviceManager->get('ModuleManager')->getModule('Model');
         $config = new \Zend\ServiceManager\Config($module->getConfig()['service_manager']);
         $config->configureServiceManager($serviceManager);
         // Override specified services
         foreach ($overrideServices as $name => $service) {
             $serviceManager->setService($name, $service);
         }
     }
     $model = $serviceManager->get($this->_getClass());
     return clone $model;
 }
Example #7
0
 /**
  * Support method for setUpThemes -- register view helpers.
  *
  * @param array $helpers Helper settings
  *
  * @return void
  */
 protected function setUpThemeViewHelpers($helpers)
 {
     // Grab the helper loader from the view manager:
     $loader = $this->serviceManager->get('viewmanager')->getHelperManager();
     // Register all the helpers:
     $config = new \Zend\ServiceManager\Config($helpers);
     $config->configureServiceManager($loader);
 }