kryptamine/groot

PHP 8 属性路由适配器

0.0.1 2021-09-26 12:15 UTC

This package is auto-updated.

Last update: 2024-09-26 19:10:14 UTC


README

此包是一个适配器,提供将 PHP 8 属性与您喜欢的任何路由器集成的功能。

use Kryptamine\Groot\Attributes\Get;
use Kryptamine\Groot\Attributes\Post;
use Kryptamine\Groot\Attributes\Controller;

#[Controller('users')]
class UserController
{
    #[Get('/')]
    public function getUsers(): void
    {

    }
    
    #[Get('/{id:\d+}')]
    public function getUser(int $id): void
    {

    }
    
    #[Post('/')]
    public function saveUser(): void
    {

    }
    
    ...
}

安装

  1. 使用 composer 安装此包
composer require kryptamine/groot
  1. 使用支持的适配器或实现 您自己的适配器

使用示例

namespace Kryptamine\Groot;

use Kryptamine\Groot\Router;
use Bramus\Router\Router as BramusRouter;
use Kryptamine\Groot\Adapters\BramusRouterAdapter;

require 'vendor/autoload.php';

$bramusRouter = new BramusRouter();

$router = new Router(BramusRouterAdapter::fromBramusRouter($bramusRouter), [
    UserController::class,
]);

$router->register();

$bramusRouter->run();

支持的适配器

bramus/router

nikic/FastRoute

要创建自己的适配器,您应该实现 RouteRegistrarAdapterInterface