storinka/invoke-laravel
Composer 安装命令:
composer require storinka/invoke-laravel
包简介
Invoke Laravel integration plugin.
README 文档
README
Invoke with Laravel.
Installation
- Install the package via composer:
composer require storinka/invoke-laravel:^2
- Register
InvokeProviderin theconfig/app.php:
return [ // ... "providers" => [ // ... \Invoke\Laravel\Providers\InvokeProvider::class, ], // ... ];
- Register invoke route in the
routes/api.php:
Route::any("/invoke/{method}", \Invoke\Laravel\Http\Controllers\InvokeController::class);
- Create folders for methods, data, types and validators:
mkdir app/Http/Methods \ app/Http/Data \ app/Http/Types \ app/Http/Validators
Usage
Create a type:
// app/Http/Data/UserResult.php use Invoke\Data; class UserResult extends Data { public int $id; public string $name; public string $email; }
Create a method:
// app/Http/Methods/Dec2Hex.php use Invoke\Method; use App\Http\Types\UserResult; class GetUserById extends Method { public int $id; protected function handle(): ?UserResult { $user = User::find($this->id); return UserResult::nullable($user); } }
Register the method:
// config/methods.php return [ \App\Http\Methods\GetUserById::class, ];
Try to invoke:
curl 'http://localhost:8000/api/invoke/getUserById?id=1'
Artisan commands
invoke:make:method
Create a new method.
Example:
php artisan invoke:make:method GerUsers
invoke:make:data
Create a new data.
Example:
php artisan invoke:make:data UserData
invoke:make:type
Create a new type.
Example:
php artisan invoke:make:type SomeType
invoke:make:validator
Create a new validator.
Example:
php artisan invoke:make:validator ValidEmail
invoke:make:pipe
Create a new pipe.
Example:
php artisan invoke:make:pipe ToUpperCase
Other
Accessing Invoke
$invoke = app(\Invoke\Invoke::class); $invoke->setMethod("someMethod", SomeMethod::class); $invoke->registeExtension(SomeExtension::class); // etc..
Set response headers
$response = app(\Symfony\Component\HttpFoundation\Response::class); $response->header('X-Some-Header', 'some value');
统计信息
- 总下载量: 842
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2021-05-09