buymeua/parser

帮助解析带产品的测试/文件

v1.0.11 2023-07-09 19:08 UTC

This package is auto-updated.

Last update: 2024-09-08 02:17:01 UTC


README

Latest Stable Version Total Downloads Tests Laravel CD License PHP Version Require Fruitcake

此包可以使用自定义适配器解析任何格式的文件,例如,我们有两个适配器用于xml和yml文件!

安装

  • 此包需要php-xmlrpc和php-mbstring(但在安装前需要检查,可能您的服务器上已安装这些包)
sudo apt-get install php-xmlrpc php-mbstring
  • 您可以使用以下命令通过composer安装此包
composer require buymeua/parser
  • 包将自动注册自己。

  • 您可以使用以下命令发布配置文件

php artisan vendor:publish --provider="Buyme\Parser\BuymeParserServiceProvider" --tag=buyme-parser-config

这将创建名为buyme_parser.php的配置文件,位于config目录中。以下是发布配置文件的内容

return [
    /*
    |------------------------------------------------------------------------------------------------------------
    | The package will use this mapping_parser for detect what adapter need connect to parse file by extension.
    |------------------------------------------------------------------------------------------------------------
    */
    "adapters" => [
        'xml' => \Buyme\Parser\Adapter\SimpleXML::class,
        'yml' => \Buyme\Parser\Adapter\XMLReader::class,
    ],
];
  • 您可以使用以下命令发布语言文件
php artisan vendor:publish --provider="Buyme\Parser\BuymeParserServiceProvider" --tag=buyme-parser-lang

如何使用

  • 在设置配置文件值后,您可以使用以下方法

  • 首先,您需要使用门面或直接连接BuymeParser类初始化BuymeParser.php类的实例

门面

use Buyme\Parser\Facades\BuymeParser;

直接

use Buyme\Parser\BuymeParser;

使用容器

$byml = app(BuymeParser::class);

或使用ID

public function __construct(private BuymeParser $buymeParser)
{
}

通过URL

$this->buymeParser->open('https://example.com/file.yml');

通过本地路径

$this->buymeParser->open('storage/xml/file.yml');
$categories = $this->buymeParser->getCategories();
$currencies = $this->buymeParser->getCurrencies();
$products = $this->buymeParser->getProducts();

测试

您可以使用以下命令运行测试

vendor/bin/phpunit

许可证

MIT许可证(MIT)。请参阅许可证文件获取更多信息。