'TODO.TODO', 'path' => '/api/TODO/TODO[/]', 'allowed_methods' => ['POST'], 'middleware' => [ {$apiHandlerName}::class, ], ], ]; "; $routesFilePath = $apiDirectoryPath . 'config/routes.php'; writeToFile($routesFilePath, $routesFileContent); $serviceManagerFileContent = " [ // Handler {$apiHandlerName}::class => AutoWiringFactory::class, // Response Formatter {$apiResponseFormatterName}::class => AutoWiringFactory::class, ], ]; "; $serviceManagerFilePath = $apiDirectoryPath . 'config/service_manager.php'; writeToFile($serviceManagerFilePath, $serviceManagerFileContent); $configProviderFileContent = " require __DIR__ . './../config/service_manager.php', 'routes' => require __DIR__ . '/./../config/routes.php', ]; } } "; $configProviderFilePath = $apiDirectoryPath . 'src/ConfigProvider.php'; writeToFile($configProviderFilePath, $configProviderFileContent); } if (!file_exists($cqrsDirectoryPath)) { $serviceManagerFileContent = " [ /// CQRS // {$apiName} {$cqrsBuilderName}::class => AutoWiringFactory::class, {$cqrsHandlerName}::class => AutoWiringFactory::class, ], ]; "; $serviceManagerFilePath = $cqrsDirectoryPath . 'config/service_manager.php'; writeToFile($serviceManagerFilePath, $serviceManagerFileContent); $configProviderFileContent = " require __DIR__ . './../config/service_manager.php', ]; } } "; $configProviderFilePath = $cqrsDirectoryPath . 'src/ConfigProvider.php'; writeToFile($configProviderFilePath, $configProviderFileContent); } $apiHandlerFileContent = "getAttribute(AnalyzeBodyMiddleware::JSON_DATA); \${$cqrsVariableName} = \$this->{$cqrsBuilderVariableName}->build( \$data ); \$result = \$this->{$cqrsHandlerVariableName}->execute(\${$cqrsVariableName}); return new SuccessResponse(\$this->responseFormatter->format(\$result)); } } "; writeToFile($apiHandlerFilePath, $apiHandlerFileContent); $apiResponseFormatterFileContent = "