storinka / invoke
调用核心库
v2.0.9
2022-08-02 23:16 UTC
Requires
- php: ^8.1
- ext-json: *
- ext-mbstring: *
- php-ds/php-ds: ^1.4
- psr/container: ^2.0 | ^1.0
Requires (Dev)
- mockery/mockery: dev-master
- phpunit/phpunit: ^9
- dev-master
- v2.x-dev
- v2.0.9
- v2.0.8
- v2.0.7
- v2.0.6
- v2.0.5
- v2.0.4
- v2.0.3
- v2.0.2
- v2.0.1
- 2.0.0
- v1.x-dev
- v1.0-BETA-38
- v1.0-BETA-37
- v1.0-BETA-36
- v1.0-BETA-35
- v1.0-BETA-34
- v1.0-BETA-33
- v1.0-BETA-32
- v1.0-BETA-31
- v1.0-BETA-30
- v1.0-BETA-29
- v1.0-BETA-28
- v1.0-BETA-27
- v1.0-BETA-26
- v1.0-BETA-25
- v1.0-BETA-24
- v1.0-BETA-23
- v1.0-BETA-22
- v1.0-BETA-21
- v1.0-BETA-20
- v1.0-BETA-19
- v1.0-BETA-18
- v1.0-BETA-17
- v1.0-BETA-16
- v1.0-BETA-15
- v1.0-BETA-14
- v1.0-BETA-13
- v1.0-BETA-12
- v1.0-BETA-11
- v1.0-BETA-10
- v1.0-BETA-9
- v1.0-BETA-8
- v1.0-BETA-7
- v1.0-BETA-6
- v1.0-BETA-5
- v1.0-BETA-4
- v1.0-BETA-3
- v1.0-BETA-2
- v1.0-BETA-1
- v1.0-BETA
- v0.0.35
- v0.0.34
- v0.0.33
- v0.0.32
- v0.0.31
- v0.0.30
- v0.0.29
- v0.0.28
- v0.0.27
- v0.0.26
- v0.0.25
- v0.0.24
- v0.0.23
- v0.0.22
- v0.0.21
- v0.0.20
- v0.0.19
- v0.0.18
- v0.0.17
- v0.0.16
- v0.0.15
- v0.0.14
- v0.0.13
- v0.0.12
- v0.0.11
- v0.0.10
- v0.0.9
- v0.0.8
- v0.0.7
- v0.0.6
- v0.0.5
- v0.0.4
- dev-v3/rewrite
- dev-fix/bad-enum-response
- dev-feature/interfaces
This package is auto-updated.
Last update: 2024-09-24 21:15:52 UTC
README
用于构建快速和现代网络API的PHP库。
安装
该库仍在开发中。
composer require storinka/invoke:^2 storinka/invoke-http:^2
基本示例
- 创建
index.php
use Invoke\Invoke; function add(float $a, float $b): float { return $a + $b; } Invoke::create([ "add" ])->serve();
- 运行服务器
php -S localhost:8000 index.php
- 发送请求
curl 'localhost:8000/add?a=2&b=2' # { "result": 4 }
复杂示例
- 创建类型
use Invoke\Data; class UserResult extends Data { public int $id; public string $name; }
- 创建获取用户列表的方法
use Invoke\Method; class GetUsers extends Method { protected function handle(int $page, int $perPage): array { $usersFromDB = getUsersFromDb($page, $perPage); return UserResult::many($usersFromDB); } }
- 设置Invoke
use Invoke\Invoke; Invoke::create([ "getUsers" => GetUsers::class ])->serve();
- 运行服务器并尝试调用
curl 'localhost:8000/getUsers?page=1&perPage=10' # { "result": [ ... ] }
