liberty_code/framework

v1.0.1 2022-01-11 18:59 UTC

This package is auto-updated.

Last update: 2024-09-04 23:53:41 UTC


README

描述

库包含框架组件和实现,用于创建和运行应用程序。

用法

  • 框架组件

    允许定义框架引擎组件。默认行为已设置,但可以实例化和重写,以自定义框架引擎。

  • 框架实现

    工厂、构建器和实用工具允许定义默认的框架实现。可以替换以自定义其他框架实现。

要求

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

安装

有多种可能的安装方式

Composer

  1. 要求

    它需要安装 Composer。更多信息请访问:https://composer.php.ac.cn

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

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

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

    • 包含供应商

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

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

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

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

包含

  1. 下载

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

    • 仅包含框架组件

        require_once('<repository_root_path>/include/Include.php');
      
    • 包含框架实现(带框架组件)

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

用法

应用程序模式

应用程序模式系统允许设置宏配置,以影响应用程序的行为。

元素

  • 配置

    扩展简单数组数据和配置功能。允许存储一组特定参数。

  • 模式

    允许设计一组特定参数,与特定键相关联。

  • 模式集合

    允许设计模式集合。使用模式列表来设置和检索指定模式。

  • 模式工厂

    允许设计模式工厂,以提供新模式实例。

  • 构建器

    允许使用模式填充模式集合。

  • 选择器

    允许设计模式选择器。使用模式集合来选择指定模式。选择是将模式集合中指定的模式标记为活动状态的操作。

模块

模块系统允许通过逻辑部分将应用程序部分分离。应用程序是一组模块。

元素

  • 模块

    允许设计模块,模块是一个包含关于应用程序特定部分的信息和配置的项目。

  • 模块集合

    允许设计模块集合。使用模块列表来获取整个应用程序的合并配置。

  • 模块工厂

    允许设计模块工厂,以提供新的或指定模块实例,从指定配置。

  • 标准模块工厂

    扩展模块工厂功能。提供默认模块实例。

  • 构建器

    允许使用模块填充模块集合。

引导

引导允许引导模块。

元素

  • 引导

    允许设计引导,引导是一个包含有关引导指定模块的信息的项目。

路由

路由允许设计应用程序中使用的 HTTP 路由。

元素

  • HttpPatternRoute, HttpParamRoute, HttpFixRoute, HttpSeparatorRoute

    扩展 HTTP 路由功能。适应所有 HTTP 路由,以便在应用程序中使用。

  • HttpRouteFactory

    扩展 HTTP 路由工厂功能。提供应用程序中使用的 HTTP 路由实例。

请求

请求允许设计应用程序中使用的请求流程的请求部分。

元素

  • HttpRequest

    扩展 HTTP 请求功能。允许从“route”参数中获取路由源,该参数在标题或 GET 中找到。

错误

错误允许设计处理程序和警告处理程序,用于应用程序。

元素

  • ExecThrowableHandler

    扩展了可抛出处理器功能。允许在应用程序执行期间处理可抛出错误。

  • SysThrowableHandler

    扩展了执行可抛出处理器功能。允许在应用程序系统运行期间处理可抛出错误。

  • FixExecThrowableHandler

    扩展了执行可抛出处理器功能。允许从指定的固定配置中处理应用程序执行期间的可抛出错误。

  • FixSysThrowableHandler

    扩展了系统可抛出处理器功能。允许从指定的固定配置中处理应用程序系统运行期间的可抛出错误。

  • ExecThrowableWarnHandler

    扩展了可抛出警告处理器功能。允许在应用程序执行期间处理可抛出警告。

  • FixExecThrowableHandler

    扩展了执行可抛出警告处理器功能。允许从指定的固定配置中处理应用程序执行期间的可抛出警告。

应用程序

应用程序允许设计项目应用程序,访问主要框架功能,并运行应用程序。

元素

  • App

    允许设计项目应用程序并运行应用程序。应用程序包含

    • 配置解析器构建器

      使用解析器构建器功能。允许获取应用程序配置的特定解析器。

    • 缓存存储库

      使用缓存存储库功能。允许管理应用程序缓存。

    • 应用程序模式选择器

      使用模式选择器功能。允许为应用程序选择特定模式。

    • 模块集合

      使用模块集合。允许存储和管理所有应用程序模块。

    • 配置

      使用配置功能。允许检索应用程序配置。

    • Provider

      使用依赖项提供者功能。允许管理依赖注入。

    • Register

      使用注册功能。允许存储和管理全局键值对。

    • Observer

      使用事件观察者功能。允许管理事件。

    • Front controller

      使用请求流前端控制器功能。允许管理和运行请求流过程。

框架

框架允许实例化和激活应用程序及其相关组件,以定义框架实现。

元素

  • 应用程序

    应用程序实现和功能。

      use liberty_code\framework\framework\application\library\ToolBoxApp;
      $app = ToolBoxApp::getObjApp();
      ...
    
  • HTTP URL功能。路径功能。

      // Get string web route, from specified route key and parameters
      use liberty_code\framework\framework\library\http\url\library\ToolBoxRoute;
      $route = ToolBoxRoute::getStrRoute(...);
      ...
      // Get string full path, from specified relative application file or directory path
      use liberty_code\framework\framework\library\path\library\ToolBoxPath;
      ToolBoxPath::getStrPathFull(...);
      ...
    
  • 应用程序模式

    应用程序模式选择器实现。

  • 缓存存储库

    应用程序缓存存储库功能。

      use liberty_code\framework\framework\cache\repository\library\ToolBoxRepository;
      ...
      // Set specified item with specified key, and set it, if required
      ToolBoxRepository::getSetItem(...);
      ...
    
  • 模块

    模块集合实现。

  • 引导

    Bootstrap功能。

      // Put application configuration
      use liberty_code\framework\framework\bootstrap\library\ToolBoxBootstrap;
      ToolBoxBootstrap::putAppConfigFile(...);
      ...
      // Put module configuration
      ToolBoxBootstrap::putModuleConfigFile(...);
      ...
    
  • 自动加载

    自动加载实现。

  • 配置

    配置实现和功能。

      // Get configuration path key, from specified keys
      use liberty_code\framework\framework\config\library\ToolBoxConfig;
      ToolBoxConfig::getStrPathKeyFromList(...);
      ...
    
  • Provider

    Provider实现。

  • Register

    Register实现。

  • Observer

    Observer实现。

  • Router

    路由器实现。

  • Request flow

    响应功能。

      // Get forwarded response, from specified route key and parameters
      use liberty_code\framework\framework\request_flow\response\http\library\ToolBoxResponse;
      ToolBoxResponse::getObjForwardResponse(...);
      ...
      // Get HTTP redirected response, from specified route key and parameters
      liberty_code\framework\framework\request_flow\response\http\library\ToolBoxHttpResponse;
      ToolBoxHttpResponse::getObjRedirectRouteResponse(...);
      ...