buymeua/parser
帮助解析带产品的测试/文件
v1.0.11
2023-07-09 19:08 UTC
Requires
- php: ^8
- ext-simplexml: *
- ext-xmlreader: *
- guzzlehttp/guzzle: ^7.0
- illuminate/support: ^9|^10
Requires (Dev)
- laravel/sail: ^1.21
- nunomaduro/larastan: ^2.0
- orchestra/testbench: ^7|^8
- phpstan/phpstan: ^1.10.22
- phpunit/phpunit: ^9.0
README
此包可以使用自定义适配器解析任何格式的文件,例如,我们有两个适配器用于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)。请参阅许可证文件获取更多信息。