neftaio/laravel-jmespath

1.0.8 2022-08-11 21:49 UTC

This package is auto-updated.

Last update: 2024-09-12 02:50:09 UTC


README

这是一个Laravel 8的包装器,用于使用jmespath.php库。jmespath.php库是对JMESPath规范的实现。

此包还提供了Artisan命令来预编译和管理您的JMESPath表达式。

感谢libtek开发libtek/laravel-jmespath和ofumbi开发ofumbi/laravel-jmespath的包。

请谨慎使用此包,实际上,我只更新了依赖项,以便您可以在我的项目中安装。

安装

通过composer安装

$ composer require neftaio/laravel-jmespath

添加服务提供者

config/app.php中,将服务提供者添加到$providers数组中

'providers' => [
    // ...
    Neftaio\Jmes\JmesServiceProvider::class,
],

添加别名

config/app.php中,将外观添加到$aliases数组中

'aliases' => [
    // ...
    'Jmes' => Neftaio\Jmes\Facades\Jmes::class,
],

发布配置文件

如果您想修改默认配置值或定义要预编译的表达式,请发布包配置文件

php artisan vendor:publish --provider="Neftaio\Jmes\JmesServiceProvider"

这将在您的config目录中创建一个jmes.php文件。

使用方法

使用外观

$result = Jmes::search($expression, $data);

辅助函数

$result = jmes($expression, $data);

搜索集合:// 返回数组或字符串

$names = collect($data);
$result = $names->search($expression);

Artisan命令

此包提供了两个Artisan命令

jmes:compile

此命令编译并缓存JMESPath表达式。表达式可以通过多种方式获取

  1. 不传递任何选项或参数运行命令将在jmes.php配置文件中查找表达式

    php artisan jmes:compile
  2. 将单个表达式传递给命令

    php artisan jmes:compile 'foo.*.baz'
  3. 设置-c--cli选项将提示手动添加表达式

    php artisan jmes:compile --cli
    
     Please enter a JMESPath expression:
     > foo.*.baz

jmes:clear

此命令将删除之前编译过的表达式

php artisan jmes:clear

传递-h--help给任一命令以查看其用法。