storinka / invoke-laravel
Invoke Laravel integration plugin.
666.666.666
2021-08-05 14:20 UTC
Requires
- php: ^7.4|^8.0
- ext-json: *
- illuminate/contracts: ^8
- illuminate/support: ^8
- phpdocumentor/reflection-docblock: ^5.2
- storinka/invoke: ^v1.0-BETA-30
Requires (Dev)
- orchestra/testbench: ^6.0
- phpunit/phpunit: ^9.3
- v666.x-dev
- 666.666.666
- v2.x-dev
- v2.0.0
- v1.x-dev
- v1.0-BETA-230
- 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.x-dev
- v0.0.230
- 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
- v0.0.3
- v0.0.2
- v0.0.1
This package is auto-updated.
Last update: 2025-02-18 18:23:17 UTC
README
Invoke with Laravel.
Installation
- Install the package via composer:
composer require storinka/invoke-laravel:^2
- Register
InvokeProvider
in 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');