Skip to content

storinka/invoke

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

225 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Invoke

PHP library for building fast and modern web APIs.

Installation

The library is still work-in-progress.

composer require storinka/invoke:^2 storinka/invoke-http:^2

Basic example

  1. Create index.php
use Invoke\Invoke;

function add(float $a, float $b): float
{
    return $a + $b;
}

Invoke::create([
    "add"
])->serve();
  1. Run a server
php -S localhost:8000 index.php 
  1. Make a request
curl 'localhost:8000/add?a=2&b=2'

# { "result": 4 }

Complex example

  1. Create a type
use Invoke\Data;

class UserResult extends Data
{
    public int $id;
    
    public string $name;
}
  1. Create a method to get list of users
use Invoke\Method;

class GetUsers extends Method
{
    protected function handle(int $page, int $perPage): array
    {
        $usersFromDB = getUsersFromDb($page, $perPage);
        
        return UserResult::many($usersFromDB);
    }
}
  1. Setup Invoke
use Invoke\Invoke;

Invoke::create([
    "getUsers" => GetUsers::class
])->serve();
  1. Run a server and try to invoke:
curl 'localhost:8000/getUsers?page=1&perPage=10'

# { "result": [ ... ] }

About

PHP library for building fast and modern web APIs.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages