liberty_code/command

v1.0.1 2022-01-10 22:12 UTC

This package is auto-updated.

Last update: 2024-09-11 03:46:57 UTC


README

描述

库包含命令行组件,用于在命令行上下文中使用功能和其他库组件。

要求

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

安装

有多种可能的安装方式

Composer

  1. 要求

    需要安装 composer。更多信息: https://getcomposer.org.cn

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

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

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

    • 包含 vendor

      如果项目使用 composer,必须包含 vendor

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

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

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

包含

  1. 下载

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

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

配置

主要配置

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

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

    • 请求选项

用法

路由

路由允许在命令行上下文中解释特定的源,从命令行请求,以获取可执行文件。

元素

  • CommandPatternRoute, CommandParamRoute, CommandFixRoute, CommandSeparatorRoute

    扩展路由功能。将所有标准路由调整为解释特定的源,从命令行请求,并获得信息(摘要和帮助)。

  • CommandRouteFactory

    扩展 DI 路由工厂功能。提供命令路由实例。

请求

请求允许在请求流程过程和命令行上下文中提供路由源。

元素

  • CommandRequest

    扩展请求功能。允许设计命令行请求。

示例

use liberty_code\command\request_flow\request\model\CommandRequest;
$request = CommandRequest::instanceGetDefault();
echo($request->getStrRouteSrc()); 
// Show "{route:<route>,argument:[<command line arguments...>],option:[<command line options...>]}"
...

响应

响应允许在命令行上下文中从请求流程过程中提供最终可发送的内容。

元素

  • 响应实用程序

    信息命令行响应允许在命令行上下文中获取有关上下文的具体信息。

      Example: response with command lines summary content, 
      response with specific command line help content.
    

前端控制器

前端控制器允许在命令行上下文中设计请求流程过程。

元素

  • CommandFrontController

    扩展前端控制器功能。使用命令行请求来获取响应。

  • InfoFrontController

    扩展命令行前端控制器功能。允许管理信息命令行响应。

示例

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

身份验证

身份验证允许使用命令请求参数设计一个身份验证类。

元素

  • CommandAuthentication

    扩展身份验证功能。使用命令请求参数获取所有标识和身份验证信息。

示例

// Get command authentication
use liberty_code\command\request_flow\request\model\CommandRequest;
$commandAuth = new CommandRequest($request);
$commandAuth->setAuthConfig(...);
...
// Get array of identification data
var_dump($commandAuth->getTabIdData());
...
// Get array of authentication data
var_dump($commandAuth->getTabAuthData());
...