1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- <?php
- namespace ZendBench\ServiceManager;
- use Athletic\AthleticEvent;
- use Zend\ServiceManager\ServiceManager;
- use Zend\ServiceManager\Config;
- class FetchServices extends AthleticEvent
- {
- const NUM_SERVICES = 1000;
- /**
- * @var ServiceManager
- */
- protected $sm;
- protected function getConfig()
- {
- $config = [];
- for ($i = 0; $i <= self::NUM_SERVICES; $i++) {
- $config['factories']["factory_$i"] = BenchAsset\FactoryFoo::class;
- $config['invokables']["invokable_$i"] = BenchAsset\Foo::class;
- $config['services']["service_$i"] = $this;
- $config['aliases']["alias_$i"] = "service_$i";
- }
- $config['abstract_factories'] = [ BenchAsset\AbstractFactoryFoo::class ];
- return $config;
- }
- public function classSetUp()
- {
- $this->sm = new ServiceManager(new Config($this->getConfig()));
- }
- /**
- * Fetch the factory services
- *
- * @iterations 5000
- */
- public function fetchFactoryService()
- {
- $result = $this->sm->get('factory_' . rand(0, self::NUM_SERVICES));
- }
- /**
- * Fetch the invokable services
- *
- * @iterations 5000
- */
- public function fetchInvokableService()
- {
- $result = $this->sm->get('invokable_' . rand(0, self::NUM_SERVICES));
- }
- /**
- * Fetch the services
- *
- * @iterations 5000
- */
- public function fetchService()
- {
- $result = $this->sm->get('service_' . rand(0, self::NUM_SERVICES));
- }
- /**
- * Fetch the alias services
- *
- * @iterations 5000
- */
- public function fetchAliasService()
- {
- $result = $this->sm->get('alias_' . rand(0, self::NUM_SERVICES));
- }
- /**
- * Fetch the abstract factory services
- *
- * @iterations 5000
- */
- public function fetchAbstractFactoryService()
- {
- $result = $this->sm->get('foo');
- }
- }
|