Build a typed Web API using PHP and TypeScript
npm install php-typescript-apiBuild a typed Web API using PHP and TypeScript
Disclaimer: This is not an officially supported Google product
This project:
- helps with data validation on the server side by providing fields or phpstan to define allowed request/response types.
- generates a typed API client in TypeScript.
- consists of a
server (PHP) library,
a
client (TypeScript)
library, and an
example
of its usage.
- Install php-typescript-api using composer:
composer require allestuetsmerweh/php-typescript-api
- Implement some endpoints for your API
(examples).
- Define which endpoints your API contains
(example).
- Define how the TypeScript interface for your API should be generated
(example).
- Run that script in order to generate the TypeScript interface file:
php path/to/your/generate.php (example result)
- You might want to run this script automatically when starting your local dev server, and check in your CI pipeline whether the committed TypeScript interface file is up-to-date.
- Have a publicly reachable PHP script that serves the API
(example).
- Install php-typescript-api using npm:
npm install --save php-typescript-api
- Configure your API client
(example).
- Use your API client to make requests
(example).
Build:
- Server: (no build necessary)
- Client: npm run build
Run tests:
- Server: composer test
- Client: npm test
Lint:
- Server: composer fix
- Client: npm run lint