2.4.0 • Published 3 months ago

php-typescript-api v2.4.0

Weekly downloads
-
License
MIT
Repository
github
Last release
3 months ago

php-typescript-api

Build 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 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.

Usage

Server side (PHP)

  • 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).

Client side (TypeScript)

  • 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).

Contribute

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
2.4.0

3 months ago

2.3.0

9 months ago

2.2.0

1 year ago

2.1.1

1 year ago

2.1.0

1 year ago

1.0.17

2 years ago

2.0.3

2 years ago

2.0.1

2 years ago

2.0.0

2 years ago

1.0.16

2 years ago

1.0.15

2 years ago

1.0.14

2 years ago

1.0.13

2 years ago

1.0.12

2 years ago

1.0.10

2 years ago

1.0.9

3 years ago

1.0.8

3 years ago

1.0.7

3 years ago

1.0.2

3 years ago

1.0.1

3 years ago

1.0.6

3 years ago

1.0.5

3 years ago

1.0.4

3 years ago

1.0.3

3 years ago

1.0.0

3 years ago