calgamo/http-kernel

该软件包已被废弃且不再维护。未推荐替代包。

简单通用的HTTP请求/响应库

0.3.3 2018-07-29 17:26 UTC

This package is not auto-updated.

Last update: 2018-07-29 17:27:11 UTC


README

Latest Version on Packagist Software License Build Status Coverage Status Code Climate Total Downloads

描述

Calgamo/HttpKernel 是 Calgamo 框架的 HTTP 基础库。

特性

演示

示例 1:如何使用中间件和管道

use Calgamo\HttpKernel\MiddlewareInterface;
use Calgamo\HttpKernel\RequestInterface;
use Calgamo\HttpKernel\RequestHandlerInterface;
use Calgamo\HttpKernel\Middleware\Pipeline;
use Calgamo\HttpKernel\Request;

class FirstMiddleware implements MiddlewareInterface
{
    public function process(RequestInterface $request, RequestHandlerInterface $handler)
    {
        echo 'FirstMiddleware: 1' . PHP_EOL;
        $response = $handler->handle($request);
        echo 'FirstMiddleware: 2' . PHP_EOL;
        return $response;
    }
}
class SecondMiddleware implements MiddlewareInterface
{
    public function process(RequestInterface $request, RequestHandlerInterface $handler)
    {
        echo 'SecondMiddleware: 1' . PHP_EOL;
        $response = $handler->handle($request);
        echo 'SecondMiddleware: 2' . PHP_EOL;
        return $response;
    }
}
class ThirdMiddleware implements MiddlewareInterface
{
    public function process(RequestInterface $request, RequestHandlerInterface $handler)
    {
        echo 'ThirdMiddleware: 1' . PHP_EOL;
        $response = $handler->handle($request);
        echo 'ThirdMiddleware: 2' . PHP_EOL;
        return $response;
    }
}

$pipeline = new Pipeline();
$pipeline->push(new FirstMiddleware());
$pipeline->push(new SecondMiddleware());
$pipeline->push(new ThirdMiddleware());

$pipeline->run(new Request);

输出

ThirdMiddleware: 1
SecondMiddleware: 1
FirstMiddleware: 1
FirstMiddleware: 2
SecondMiddleware: 2
ThirdMiddleware: 2

使用方法

要求

PHP 7.0 或更高版本

安装 Calgamo/HttpKernel

推荐通过 Composer 安装 Calgamo/HttpKernel。

composer require calgamo/http-kernel

安装后,您需要要求 Composer 的自动加载器

require 'vendor/autoload.php';

许可证

MIT

作者

stk2k

免责声明

此软件无任何保证。

我们不承担使用此软件造成的任何结果。

请自行承担责任。