bogosoft/cornpop

一个遵循PSR规范的用于生成HTTP请求响应的微型框架。

2.0.0 2019-12-13 06:39 UTC

This package is auto-updated.

Last update: 2024-09-13 17:01:19 UTC


README

一个遵循PSR规范的用于生成HTTP请求响应的微型框架。

CornPop提供了一个可扩展的核心,用于设置和执行HTTP响应管道。

核心期望各种基于HTTP的对象的PSR实现,但它本身不提供任何实现,让您可以自由地引入自己的实现(BYOI)。

您需要BYOI的包括

  • Bogosoft\Configuration\ConfigurationInterface
  • Psr\Container\ContainerInterface
  • Psr\Http\Message\ResponseFactoryInterface
  • Psr\Http\Message\ResponseInterface
  • Psr\Http\Message\ServerRequestInterface
  • Psr\Http\Server\MiddlewareInterface
  • Psr\Http\Server\RequestHandlerInterface
  • Psr\Log\LoggerInterface

需求

  • PHP 7.1+

安装

composer require bogosoft/cornpop

内核

KernelBase 类,您需要扩展,本身实现了 RequestHandlerInterface 接口。基内核上实现的方法只有 RequestHandlerInterface::handler 方法。调用此方法将启动一系列操作,并最终返回HTTP响应。

配置

内核首先处理的是获取应用程序配置。此配置的类型为 Bogosoft\Configuration\ConfigurationInterface

虽然CornPop没有提供任何PSR对象的实现,但它附带了一个 ArrayConfiguration,可以用作应用程序配置。

传递给内核的HTTP请求可以用来配置配置,可以说是。

日志记录

一旦获取了配置,就使用它来获取一个类型为 Psr\Log\LoggerInterface 的记录器。

依赖注入(DI)容器

在获取记录器后,使用记录器和配置来获取一个类型为 Psr\Contaienr\ContainerInterface 的DI容器。

后备处理器

然后使用容器来获取一个后备请求处理器,类型为 Psr\Http\Server\RequestHandlerInterface,当配置的任何中间件都没有返回HTTP响应时将被调用。

这将在返回404响应等情况下非常有用。

中间件

容器再次用于配置要调用的中间件组件的序列。每个组件都需要是 Psr\Http\Server\MiddlewareInterface 类型,并且将按照排队顺序调用。

执行

一旦中间件组件排队,它们将依次被调用。如果中间件组件返回响应而不是调用传入的请求处理器,它将中断进一步的中间件处理。