yiisoft/yii-http

Yii HTTP 应用程序

1.0.4 2024-03-07 07:54 UTC

This package is auto-updated.

Last update: 2024-09-10 16:15:06 UTC


README

Yii

Yii HTTP 应用程序


Latest Stable Version Total Downloads Build status Scrutinizer Code Quality Code Coverage Mutation testing badge static analysis type-coverage

此 Yii 框架包提供了应用程序类,以及与 HTTP 交互所需的事件和处理器。该包使用 PSR-7 接口实现。

需求

  • PHP 8.0 或更高版本。

安装

可以使用 Composer 安装此包。

composer require yiisoft/yii-http

通用用法

如果您使用的是 Yii 3 标准应用程序模板之一,则应用程序已经在其中配置好,并使用 yiisoft/yii-runner-http 包运行。

如果不使用,则使用适合您环境的 HTTP 运行者之一。

并按照包的README中描述创建一个入口脚本。

如果您不使用 Yii HTTP 运行者,则入口脚本中启动应用程序的代码可能如下所示

use Yiisoft\Yii\Http\Application;
use Yiisoft\Yii\Http\Handler\NotFoundHandler;
use Yiisoft\Yii\Http\Handler\ThrowableHandler;

/**
 * @var Psr\EventDispatcher\EventDispatcherInterface $eventDispatcher
 * @var Psr\Http\Message\ResponseFactoryInterface $responseFactory
 * @var Psr\Http\Message\ServerRequestInterface $request
 * @var Yiisoft\ErrorHandler\Middleware\ErrorCatcher $errorCatcher
 * @var Yiisoft\Middleware\Dispatcher\MiddlewareDispatcher $dispatcher
 */

$fallbackHandler = new NotFoundHandler($responseFactory);
$application = new Application($dispatcher, $eventDispatcher, $fallbackHandler);

try {
    $application->start();
    $response = $application->handle($request);
    // Emit a response.
} catch (Throwable $throwable) {
    $handler = new ThrowableHandler($throwable);
    $response = $errorCatcher->process($request, $handler);
    // Emit a response with information about the error.
} finally {
    $application->afterEmit($response ?? null);
    $application->shutdown();
}

文档

如果您需要帮助或有问题,您可以访问Yii 论坛。您还可以查看其他Yii 社区资源

许可

Yii HTTP 应用程序是免费软件。它根据 BSD 许可证的条款发布。有关更多信息,请参阅LICENSE

Yii 软件维护。

支持项目

Open Collective

关注更新

Official website Twitter Telegram Facebook Slack