php-openapi-generator

Client Quickstart

This is the fastest path from OpenAPI file to a typed PHP API client.

Goal

Generate DTOs and API client classes, then call your API through generated methods instead of hand-written request code.

1) Minimal config

<?php

declare(strict_types=1);

use MaxBeckers\OpenApiGenerator\Config\GenerationTarget;
use MaxBeckers\OpenApiGenerator\Config\GeneratorConfig;
use MaxBeckers\OpenApiGenerator\Config\HttpClientAdapter;

$config = new GeneratorConfig();
$config->specFile = 'openapi.yaml';
$config->outputDir = 'generated';

$config->modelNamespace = 'App\\Model';
$config->modelOutputDir = 'Model';

$config->apiNamespace = 'App\\Api';
$config->apiOutputDir = 'Api';

$config->generationTarget = GenerationTarget::Client;
$config->httpClient = HttpClientAdapter::SymfonyHttpClient; // or Guzzle / Psr18

return $config;

2) Generate

vendor/bin/openapi-gen

3) Use generated code

Adapter notes

See also: Client Generation and HTTP Client Adapters.