$managedApplications */ public function __construct( #[Autowire('%app.managed_applications%')] private array $managedApplications, ) {} /** * @param ManagedApplication $data */ public function process(mixed $data, Operation $operation, array $uriVariables = [], array $context = []): ManagedApplication { $slug = $uriVariables['slug'] ?? ''; $appConfig = null; foreach ($this->managedApplications as $app) { if ($app['slug'] === $slug) { $appConfig = $app; break; } } if (null === $appConfig) { throw new NotFoundHttpException(sprintf('Application "%s" not found.', $slug)); } $maintenancePath = $appConfig['maintenance_path']; if ($data->maintenance) { $directory = dirname($maintenancePath); if (!is_dir($directory)) { mkdir($directory, 0755, true); } touch($maintenancePath); } elseif (file_exists($maintenancePath)) { unlink($maintenancePath); } $dto = new ManagedApplication(); $dto->slug = $appConfig['slug']; $dto->name = $appConfig['name']; $dto->maintenance = file_exists($maintenancePath); return $dto; } }