liberty_code/request_flow

v1.0.1 2022-01-07 20:19 UTC

This package is auto-updated.

Last update: 2024-09-08 01:56:33 UTC


README

描述

库包含请求/响应和请求流程处理组件。请求流程使用前端控制器系统,从请求提供响应。

需求

  • 脚本语言:PHP:版本 7 或 8

安装

有几种可能的方式

Composer

  1. 需求

    需要安装Composer。更多信息请参阅:https://getcomposer.org.cn

  2. 命令:在项目根路径下移动

     cd "<project_root_path>"
    
  3. 命令:安装

     php composer.phar require liberty_code/request_flow ["<version>"]
    
  4. 注意

    • 包含供应商

      如果项目使用Composer,则必须包含供应商

        require_once('<project_root_path>/vendor/autoload.php');
      
    • 配置

      安装命令允许在composer文件中添加

        {
            "require": {
                "liberty_code/request_flow": "<version>"
            }
        }
      

包含

  1. 下载

    • 下载以下仓库。
    • 将其放在仓库根路径。
  2. 包含源代码

     require_once('<repository_root_path>/include/Include.php');
    

配置

主要配置

  • 使用以下类来配置特定元素

      use liberty_code\request_flow\config\model\DefaultConfig;
      DefaultConfig::instanceGetDefault()->get|set...();
    
  • 可配置元素

    • 响应选项

使用

请求

请求允许从请求流程过程中设计请求部分。请求允许提供请求流程过程中使用的路由源,以获取响应。

元素

  • 请求

    允许设计基本请求,
    以获取字符串路由源。

示例

class HttpRequestTest extends liberty_code\request_flow\request\model\DefaultRequest
{
    // Define rules to get route source
    public function getStrRouteSrc()
    {
        // Get route source from GET "route" argument
        return $_GET['route'];
    }
}

$request = HttpRequestTest::instanceGetDefault();
echo($request->getStrRouteSrc()); // Show "<route>"
...

响应

响应允许从请求流程过程中设计响应部分。响应允许提供请求流程过程中的最终可发送内容。

元素

  • 响应

    允许设计基本响应,其中发送操作允许打印指定内容。可用于设计命令行响应。

  • 响应实用工具

    解析内容响应允许获取具有特定格式的内容的响应。例如:JSON响应、XML响应等...

示例

use liberty_code\request_flow\response\model\DefaultResponse;
$objResponse = new DefaultResponse();
$objResponse->setContent(...);
...

前端控制器

前端控制器允许设计请求流程过程。它使用路由从指定请求获取响应。

元素

  • FrontController

    允许设计基本前端控制器。使用路由和请求路由源作为源,以查找可执行的路径并从其中获取响应。

示例

liberty_code\request_flow\front\model\DefaultFrontController;
use liberty_code\request_flow\front\http\model\HttpFrontController;
$frontController = new DefaultFrontController();
$frontController->setRouter(...);
$frontController->setActiveRequest(...);
...
// Show response object
var_dump($frontController->execute());
...