ielfran / phptypes-bridge
Generate TypeScript types, Zod schemas, and fetch clients from PHP APIs — zero YAML, zero drift
v0.1.1
2026-05-27 16:24 UTC
Requires
- php: ^8.1
- symfony/console: ^6.0|^7.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.0
- phpstan/phpstan: ^1.10
- phpunit/phpunit: ^10.5
README
Generate TypeScript types, Zod schemas, and a typed fetch client from your PHP API — zero YAML, zero drift.
Requirements
- PHP 8.1+
- Symfony Console 6+
Installation
composer require phptypes/bridge
Usage
Create 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