承接 polus/adr 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

polus/adr

最新稳定版本:5.0.0

Composer 安装命令:

composer require polus/adr

包简介

base for my version of adr

README 文档

README

This is my implementation of ADR

Installation

The preferred method of installing this library is with Composer by running the following from your project root:

$ composer require polus/adr

You will also need to include an implementation of a router and a middleware-dispatcher

Currently available routers

Currently available middleware dispatchers

Old versions

See polus/polus-adr for version 1 and 2

Example

<?php


use Aura\Payload_Interface\PayloadInterface;use Aura\Router\RouterContainer;use Http\Factory\Diactoros\ResponseFactory;use Http\Factory\Diactoros\ServerRequestFactory;use Polus\Adr\Actions\AbstractDomainAction;use Polus\Adr\Adr;use Polus\Adr\Interfaces\Resolver;use Polus\Adr\ResponseHandler\HttpResponseHandler;use Polus\Router\AuraRouter\RouterCollection;use Polus\Router\RouterMiddleware;use Psr\Http\Message\ResponseInterface;use Psr\Http\Message\ServerRequestInterface;

$responseFactory = new \Http\Factory\Diactoros\ResponseFactory();
$routerContainer = new RouterContainer();
$routerCollection = new RouterCollection($routerContainer->getMap());
$routerDispatcher = new Polus\Router\AuraRouter\Dispatcher($routerContainer);

$actionResolver =  new class implements Resolver {
    //..
};

$adr = new Adr(
    new ResponseFactory(),
    $actionResolver,
    $routerCollection,
    new HttpResponseHandler(),
    new \Polus\MiddlewareDispatcher\Factory(
        new \Polus\MiddlewareDispatcher\Relay\Dispatcher($responseFactory),
        [
            new RouterMiddleware($routerDispatcher),
            //More psr-15 middlewares
        ]
    )
);

//Define routes and actions
class Responder implements Responder
{
    public function __invoke(
        ServerRequestInterface $request,
        ResponseInterface $response,
        PayloadInterface $payload
    ): ResponseInterface {
        $response->getBody()->write("Index responder\n");
        return $response;
    }
}

$adr->get('/', new class extends AbstractDomainAction {
    protected $responder = Responder::class;
});

//Run application
$factory = new ServerRequestFactory();
$adr->run($factory->createServerRequestFromArray($_SERVER));

统计信息

  • 总下载量: 7.59k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 4
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2018-04-11