12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- <?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');
- }
- }
|