Skip to content

Repository files navigation

PhpBoot

GitHub licensePackage versionDocumentation StatusBuild StatusScrutinizer Code QualityCode Coverage

phprs-restful 2.x is renamed to PhpBoot, and incompatible with 1.x. You can get the old version from phprs-restful v1.x

查看中文说明

PhpBoot is an easy and powerful PHP framework for building RESTful/Microservices APIs.

Specialities

PhpBoot provides mainstream features, such as IOC, HOOK, ORM, Validation, etc. But the most striking features are:

1. Designing object-oriented APIs

WITHOUT PhpBoot:

class BookController
{
publicfunctionfindBooks(Request$request)
{
$name = $request->get('name');
$offset = $request->get('offset', 0);
$limit = $request->get('limit', 10);
...returnnewResponse(['total'=>$total, 'data'=>$books]);
}
publicfunction createBook(Request$request)
...
}

WITH PhpBoot:

/** * @path /books/ */class Books
{
/** * @route GET / * @return Book[] */publicfunctionfindBooks($name, &$total=null, $offset=0, $limit=10)
{
$total = ...
...
return $books;
}
/** * @route POST / * @param Book $book {@bind request.request} bind $book with http body * @return string id of created book */publicfunctioncreateBook(Book$book)
{
$id = ... return $id;
}
}

Read more: phpboot-example

2. Swagger

PhpBoot can automatically generate Swagger JSON,which can be rendered as document by Swagger UI like this:

Read more: Online Demo

3. RPC

Call the remote Books with RPC:

$books = $app->make(RpcProxy::class, [
'interface'=>Books::class, 'prefix'=>'http://x.x.x.x/'
]);
$books->findBooks(...);

Concurrent call RPC:

$res = MultiRpc::run([
function()use($service1){
return$service1->doSomething();
},
function()use($service2){
return$service2->doSomething();
},
]);

Read more: RPC

4. IDE friendly

Features

Installation

  1. Install composer

    curl -s http://getcomposer.org/installer | php
    
  2. Install PhpBoot

    composer require "caoym/phpboot"
    
  3. index.php

    <?phprequire__DIR__.'/vendor/autoload.php';
    $app = \PhpBoot\Application::createByDefault(__DIR__.'/config/config.php');
    $app->loadRoutesFromPath(__DIR__.'/App/Controllers');
    $app->dispatch();

Help & Documentation

About

☕ 🚀 tiny & fast PHP framework for building Microservices/RESTful APIs, with useful features: IOC, Hook, ORM, RPC, Swagger, Annotation, Parameters binding, Validation, etc.

Topics

Resources

Stars

649 stars

Watchers

76 watching

Forks

Releases

Packages

Used by

Contributors

Languages