# yaml-language-server: $schema=../vendor/symfony/dependency-injection/Loader/schema/services.schema.json parameters: app.debug: '%kernel.debug%' app.expected_api_token: '%env(API_TOKEN)%' services: _defaults: autowire: true autoconfigure: true # Interface -> Implementierung (Dependency Inversion): Logic-Layer definiert, # Data-Layer implementiert. Explizit gebunden, damit Autowiring nie mehrdeutig wird. bind: App\Logic\Common\ClockInterface: '@App\Data\Infrastructure\SystemClock' App\Logic\Essen\MahlzeitProviderInterface: '@App\Data\Essen\Provider\MahlzeitProvider' App\Logic\Essen\MahlzeitProcessorInterface: '@App\Data\Essen\Processor\MahlzeitProcessor' App\Logic\Essen\Manager\MahlzeitManagerInterface: '@App\Logic\Essen\Manager\MahlzeitManager' App\: resource: '../src/' exclude: - '../src/Kernel.php' # Router-Controller automatisch als (getaggen) Service bekannt machen App\UI\Http\: resource: '../src/UI/Http/' tags: - { name: controller.service_arguments } App\UI\Http\Auth\OidcClient: arguments: $issuer: '%env(string:KEYCLOAK_ISSUER)%' $clientId: '%env(string:KEYCLOAK_CLIENT_ID)%' $clientSecret: '%env(default::KEYCLOAK_CLIENT_SECRET)%' $redirectUri: '%env(string:KEYCLOAK_REDIRECT_URI)%' App\UI\Http\ExceptionSubscriber: arguments: $debug: '%app.debug%' App\UI\Http\Api\ApiTokenSubscriber: arguments: $expectedToken: '%app.expected_api_token%'