Generate TypeScript types, Zod schemas, and a typed fetch client from your PHP API — zero YAML, zero drift.
- PHP 8.1+
- Symfony Console 6+
composer require phptypes/bridgeCreate phptypes.php in your project root:
return [
'source_dirs' => ['app/Http/Controllers', 'app/DTOs'],
'output_dir' => 'resources/js/api',
'generators' => ['types', 'schemas', 'client'],
'base_url' => '',
];Annotate your controllers:
#[ApiGroup(prefix: '/api')]
class UserController
{
#[ApiEndpoint(method: 'GET', path: '/users/{id}')]
public function show(int $id): UserDto { ... }
}Generate:
vendor/bin/phptypes generate