v1.0.1 2021-12-29 18:57 UTC

This package is auto-updated.

Last update: 2024-09-29 05:02:03 UTC


README

描述

库包含基本解析组件,允许从指定源获取特定格式的数据。

要求

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

安装

有多种方法可供选择

Composer

  1. 要求

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

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

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

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

    • 包含 vendor

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

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

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

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

包含

  1. 下载

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

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

用法

解析器

解析器允许设计基本解析类,结构用于从指定源获取特定格式数据。

元素

  • 解析器

    允许从指定源获取解析数据,并从指定解析数据检索源。

  • StrTableParser

    扩展解析器功能。允许从字符串源获取解析数据,并以数组格式。

  • PhpParser

    扩展字符串表解析器功能。允许从字符串 PHP 源获取解析数据,并以数组格式。

  • JsonParser

    扩展字符串表解析器功能。允许从字符串 JSON 源获取解析数据,并以数组格式。

  • YmlParser

    扩展字符串表解析器功能。允许从字符串 YML 源获取解析数据,并以数组格式。

  • YmlParser

    扩展字符串表解析器功能。允许从字符串 YML 源获取解析数据,并以数组格式。

  • JsonYmlParser

    扩展 YML 字符串表解析器功能。使用带注释的 JSON 格式来获取解析数据。

  • XmlParser

    扩展字符串表解析器功能。允许从字符串 XML 源获取解析数据,并以数组格式。

  • DefaultXmlParser

    扩展 XML 字符串表解析器功能。使用简单的 XML(无属性)来获取解析数据。

  • AttributeXmlParser

    扩展 XML 字符串表解析器功能。使用带属性的 XML 来获取解析数据。

  • ParserFactory

    允许设计解析器工厂,从指定配置提供新的或指定的解析器实例。

  • StrTableParserFactory

    扩展解析器工厂功能。提供字符串表解析器实例。

示例

// Get parser factory
use liberty_code\parser\parser\factory\string_table\model\StrTableParserFactory;
$parserFactory = new StrTableParserFactory();
...
// Get new parser from configuration
$parser = $parserFactory->getObjParser(array(...));
...
// Get parsed data, from source
var_dump($parser->getData(...));
...
// Retrieve source, from parsed data
var_dump($parser->getSource(...));
...

文件解析器

文件解析器允许设计解析器类,结构用于从指定源文件获取特定格式数据。

元素

  • FileParser

    允许从指定源文件获取解析数据,并从指定解析数据设置源在文件上。使用解析器获取数据和检索源。

  • StrTableFileParser

    扩展文件解析器功能。允许从字符串表解析器检索文件扩展名。

  • FileParserFactory

    允许设计文件解析器工厂,从指定配置提供新的或指定的文件解析器实例。使用解析器工厂提供默认文件解析器实例。

  • StrTableFileParserFactory

    扩展文件解析器工厂功能。提供字符串表文件解析器实例。

示例

...
// Get file parser factory
use liberty_code\parser\file\factory\string_table\model\StrTableFileParserFactory;
$fileParserFactory = new StrTableFileParserFactory($parserFactory);
...
// Get new file parser from configuration
$fileParser = $fileParserFactory->getObjFileParser(array(...));
...
// Get file extension
var_dump($fileParser->getStrFileExt());
...
// Get parsed data, from source on file path
var_dump($fileParser->getData('...'));
...
// Set source on file path, from parsed data
var_dump($parser->setSource('...', ...));
...

Builder

Builder 允许从指定配置获取解析器。

元素

  • Builder

    允许从指定配置获取解析器和文件解析器。

  • FactoryBuilder

    扩展 Builder 功能。使用解析器工厂获取解析器和文件解析器。

示例

...
// Get builder
use liberty_code\parser\build\factory\model\FactoryBuilder;
$builder = new FactoryBuilder($parserFactory, $fileParserFactory);
...
// Set configuration
$builder->setConfig(array(...));
...
// Get parser object
$parser = $builder->getObjParser();
...
// Get file parser object
$fileParser = $builder->getObjFileParser();
...