Exemplo n.º 1
0
 /**
  * @return Container
  */
 private function buildServices()
 {
     $application = $this->getApplication();
     $services = new Container();
     $services['project'] = function () {
         return new Project();
     };
     $services['executor'] = function () {
         return new Executor();
     };
     $services['composer'] = function (Container $services) {
         return new Composer($services['executor'], new BalloonFactory());
     };
     $services['helper_set'] = function () use($application) {
         return $application->getHelperSet();
     };
     $services['config'] = function () {
         return new Config('');
     };
     $services['alias_manager'] = function (Container $services) {
         $factory = new AliasManagerFactory();
         return $factory->createFromConfig($services['config']);
     };
     $services['module_manager'] = function (Container $services) {
         $factory = new ModuleManagerFactory();
         return $factory->create($services['config']['module.path']);
     };
     $services['module_procedure'] = function (Container $services) {
         return new ModuleProcedure($services['module_manager'], $services['composer'], $services['balloon_factory'], new ModulesSorter());
     };
     $services['balloon_factory'] = function () {
         return new BalloonFactory();
     };
     $services['git'] = function () {
         return new Git();
     };
     return $services;
 }
Exemplo n.º 2
0
 private function provideServices(Executor $executor, QuestionHelper $questionHelper = null)
 {
     $services = new Container();
     $services['executor'] = function () use($executor) {
         return $executor;
     };
     $services['composer'] = function (Container $services) {
         return new Composer($services['executor'], new BalloonFactory());
     };
     $services['helper_set'] = function () use($questionHelper) {
         return new HelperSet(['question' => $questionHelper]);
     };
     $services['config'] = function () {
         return new Config('');
     };
     $services['module_manager'] = function (Container $services) {
         $factory = new ModuleManagerFactory();
         return $factory->create($services['config']['module.path']);
     };
     $services['module_procedure'] = function (Container $services) {
         return new ModuleProcedure($services['module_manager'], $services['composer'], $services['balloon_factory'], new ModulesSorter());
     };
     $services['balloon_factory'] = function () {
         return new BalloonFactory();
     };
     return $services;
 }