php-openapi-generator

Framework Targets

GenerationTarget::Server always generates API contracts from your OpenAPI operations, then adds optional framework glue based on FrameworkTarget.

Overview

Target Generated API Contract Generated Controller Glue Generated Route Helper Best Fit
FrameworkTarget::None *ApiInterface No No Plain PHP, custom stacks, PSR-based frameworks
FrameworkTarget::Symfony *ApiInterface Yes (#[Route] actions) No Symfony apps
FrameworkTarget::Laravel *ApiInterface Yes (request/response actions) Yes (*ApiRoutes) Laravel apps

Shared Model Output

Regardless of framework target, schema components generate typed models and enums.

See Readonly Model Classes.

How To Choose

Common Configuration

use MaxBeckers\OpenApiGenerator\Config\FrameworkTarget;
use MaxBeckers\OpenApiGenerator\Config\GenerationTarget;

$config->generationTarget = GenerationTarget::Server;
$config->frameworkTarget = FrameworkTarget::Symfony; // none|symfony|laravel
$config->frameworkVersion = '8.0'; // optional, enables version-specific template logic

If you leave $config->frameworkVersion as null, the generator uses the generic templates for the selected framework target.

Detailed Guides