wordpress-psr/request-handler

WordPress 的 PSR-15 服务器请求处理器。

dev-master 2022-04-06 05:29 UTC

This package is auto-updated.

Last update: 2024-09-06 11:14:16 UTC


README

一个围绕 WordPress 核心的 PSR-15 请求处理器包装器。

安装

$ composer require wordpress-psr/request-handler

概述

此软件包允许 WordPress 安装在 PSR 请求和响应上下文中使用。此软件包本身并不是非常有用,但可以与任何数量的 请求处理器运行器中间件 结合使用,以实现以前无法实现的方式使用 WordPress。

Swoole

使用此请求处理器并将其与 chubbyphp-swoole-request-handler 结合使用,可以在持久、高性能、事件驱动、异步的 swoole http 服务器上运行 WordPress。有关更多详细信息,请参阅 WordPress PSR Swoole 项目。除了 Swoole 之外,由于此请求处理器使用 psr-15 标准,其他事件驱动库,如 reactamp,也应该可以正常工作。

示例用法

请参阅 tests/server.php 以查看此请求处理器如何使用的一个工作示例。该文件被用于测试 nginx 配置文件中的此行以测试请求处理器

try_files $uri /wordpress/$uri /tests/server.php?$args;

这是必要的,以便可以访问 wordpress 子文件夹中的静态文件,其他所有内容都由 server.php 处理。

WordPress 修改

需要修改 WordPress 核心代码才能使请求处理器的某些方面正常工作。这些更改目前保存在一个 分支 中,但希望一旦证明其有用性,这些更改就可以合并到核心中。Rector 被用于进行一些修改,例如将所有对 exitdie 的调用更改为调用新的函数 wp_exitwp_exit() 仅在调用 exit 之前执行 action wp_exit,以便此请求处理器可以抛出一个异常,将执行流程返回给请求处理器,该请求处理器返回一个响应对象而不是退出。
所有对 header()setcookie 的调用也进行了更改,以触发此请求处理器挂钩到的操作。该钩子记录了头部和 Cookie,以便可以将它们添加到响应对象中。其他更改允许 WordPress 作为长时间运行的过程工作。主要是在适当的地方使用 require 而不是 require_once

许可协议

GPL,请参阅 LICENSE。