register() public method

public register ( string $id, Definition $definition )
$id string
$definition Dumplie\SharedKernel\Application\ServiceContainer\Definition
Beispiel #1
0
 /**
  * @param ServiceContainer $serviceContainer
  */
 public function build(ServiceContainer $serviceContainer)
 {
     $serviceContainer->register(self::TACTICAIN_HANDLER_LOCATOR, new ServiceContainer\Definition(MapLocator::class, [new ServiceContainer\ArgumentService(Services::KERNEL_COMMAND_HANDLER_MAP)]));
     $serviceContainer->register(self::TACTICAIN_COMMAND_EXTRACTOR, new ServiceContainer\Definition(ClassNameExtractor::class));
     $serviceContainer->register(self::TACTICAIN_HANDLE_INFLECTOR, new ServiceContainer\Definition(HandleInflector::class));
     $serviceContainer->register(self::TACTICAIN_MIDDLEWARE_HANDLER, new ServiceContainer\Definition(CommandHandlerMiddleware::class, [new ServiceContainer\ArgumentService(self::TACTICAIN_COMMAND_EXTRACTOR), new ServiceContainer\ArgumentService(self::TACTICAIN_HANDLER_LOCATOR), new ServiceContainer\ArgumentService(self::TACTICAIN_HANDLE_INFLECTOR)]));
     $serviceContainer->register(self::TACTICAIN_MIDDLEWARE_EXTENSION, new ServiceContainer\Definition(ExtensionMiddleware::class, [new ServiceContainer\ArgumentService(Services::KERNEL_COMMAND_EXTENSION_REGISTRY)]));
     $serviceContainer->register(self::TACTICAIN, new ServiceContainer\Definition(Tactician::class, [new ServiceContainer\ArgumentCollection([new ServiceContainer\ArgumentService(self::TACTICAIN_MIDDLEWARE_EXTENSION), new ServiceContainer\ArgumentService(self::TACTICAIN_MIDDLEWARE_HANDLER)])]));
     $serviceContainer->register(Services::KERNEL_COMMAND_BUS, new ServiceContainer\Definition(CommandBus::class, [new ServiceContainer\ArgumentService(self::TACTICAIN)]));
 }
Beispiel #2
0
 /**
  * @param ServiceContainer $serviceContainer
  */
 protected function registerCommandHandler(ServiceContainer $serviceContainer)
 {
     $serviceContainer->register(InventoryServices::INVENTORY_COMMAND_CREATE_PRODUCT_HANDLER, new ServiceContainer\Definition(CreateProductHandler::class, [new ServiceContainer\ArgumentService(InventoryServices::INVENTORY_DOMAIN_PRODUCTS)]));
 }
Beispiel #3
0
 /**
  * @param ServiceContainer $serviceContainer
  */
 protected function registerMetadataServices(ServiceContainer $serviceContainer)
 {
     $serviceContainer->register(Services::KERNEL_METADATA_SCHEMA_BUILDER, new ServiceContainer\Definition(Builder::class, []));
     $serviceContainer->register(Services::KERNEL_METADATA_HYDRATOR, new ServiceContainer\Definition(DefaultHydrator::class, [new ServiceContainer\ArgumentService($this->storageServiceId)]));
     $serviceContainer->register(Services::KERNEL_METADATA_ACCESS_REGISTRY, new ServiceContainer\Definition(MetadataAccessRegistry::class, [new ServiceContainer\ArgumentService($this->storageServiceId), new ServiceContainer\ArgumentService(Services::KERNEL_METADATA_SCHEMA_BUILDER), new ServiceContainer\ArgumentService(Services::KERNEL_METADATA_HYDRATOR)]));
 }
Beispiel #4
0
 /**
  * @param ServiceContainer $serviceContainer
  * @throws ServiceNotFoundException
  */
 public function build(ServiceContainer $serviceContainer)
 {
     $serviceContainer->register(Services::KERNEL_TRANSACTION_FACTORY, new ServiceContainer\Definition(ORMFactory::class, [new ServiceContainer\ArgumentService($this->entityManagerServiceId)]));
 }
Beispiel #5
0
 /**
  * @param ServiceContainer $serviceContainer
  */
 public function build(ServiceContainer $serviceContainer)
 {
     $serviceContainer->register(Services::INVENTORY_APPLICATION_QUERY, new ServiceContainer\Definition(DbalInventoryQuery::class, [new ServiceContainer\ArgumentService($this->connectionServiceId), new ServiceContainer\ArgumentService(\Dumplie\SharedKernel\Application\Services::KERNEL_METADATA_ACCESS_REGISTRY)]));
     $serviceContainer->register(Services::INVENTORY_DOMAIN_PRODUCTS, new ServiceContainer\Definition(ORMProducts::class, [new ArgumentService($this->entityManagerServiceId)]));
 }
Beispiel #6
0
 /**
  * @param ServiceContainer $serviceContainer
  */
 public function build(ServiceContainer $serviceContainer)
 {
     $serviceContainer->register(Services::CUSTOMER_CART_QUERY, new ServiceContainer\Definition(DbalCartQuery::class, [new ServiceContainer\ArgumentService($this->connectionServiceId), new ServiceContainer\ArgumentService(\Dumplie\SharedKernel\Application\Services::KERNEL_METADATA_ACCESS_REGISTRY)]));
     $serviceContainer->register(Services::CUSTOMER_DOMAIN_PRODUCTS, new ServiceContainer\Definition(DbalProducts::class, [new ServiceContainer\ArgumentService($this->connectionServiceId)]));
     $serviceContainer->register(Services::CUSTOMER_DOMAIN_CARTS, new ServiceContainer\Definition(ORMCarts::class, [new ArgumentService($this->entityManagerServiceId)]));
 }
Beispiel #7
0
 /**
  * @param ServiceContainer $serviceContainer
  */
 protected function registerCommandHandler(ServiceContainer $serviceContainer)
 {
     $serviceContainer->register(CustomerServices::CUSTOMER_CREATE_CART_HANDLER, new ServiceContainer\Definition(CreateCartHandler::class, [new ServiceContainer\ArgumentService(CustomerServices::CUSTOMER_DOMAIN_CARTS)]));
     $serviceContainer->register(CustomerServices::CUSTOMER_ADD_TO_CART_HANDLER, new ServiceContainer\Definition(AddToCartHandler::class, [new ServiceContainer\ArgumentService(CustomerServices::CUSTOMER_DOMAIN_PRODUCTS), new ServiceContainer\ArgumentService(CustomerServices::CUSTOMER_DOMAIN_CARTS)]));
     $serviceContainer->register(CustomerServices::CUSTOMER_REMOVE_FROM_CART_HANDLER, new ServiceContainer\Definition(RemoveFromCartHandler::class, [new ServiceContainer\ArgumentService(CustomerServices::CUSTOMER_DOMAIN_CARTS)]));
 }