justbetter / laravel-akeneo
Akeneo 的 Laravel 封装
0.0.3
2022-05-20 08:46 UTC
Requires
- php: ^8.0
- akeneo/api-php-client: ^6.0
- guzzlehttp/guzzle: ^7.4
- laravel/framework: ^9.0
- spatie/laravel-package-tools: ^1.4.3
Requires (Dev)
- brianium/paratest: ^6.2
- nunomaduro/collision: ^6.1
- nunomaduro/larastan: ^1.0
- orchestra/testbench: ^6.23
- pestphp/pest: ^1.20
- pestphp/pest-plugin-laravel: ^1.1
- phpunit/phpunit: ^9.3
- spatie/laravel-ray: ^1.23
- vimeo/psalm: ^4.8
This package is auto-updated.
Last update: 2024-09-11 15:09:47 UTC
README
⚠️ 已弃用:此包已弃用,我们已经开发了一个新的客户端。
Akeneo 的 Laravel 封装
此包允许您以更类似 Laravel 的方式与 Akeneo 一起工作。
要求
- PHP 8 或更高版本
- Akeneo 安装
安装
您可以通过 composer 安装此包
composer require justbetter/laravel-akeneo
配置
将以下值添加到您的 .env
文件中
AKENEO_URL=
AKENEO_CLIENT_ID=
AKENEO_SECRET=
AKENEO_USERNAME=
AKENEO_PASSWORD=
您可以选择通过以下方式发布配置文件
php artisan vendor:publish --provider="JustBetter\Akeneo\AkeneoServiceProvider" --tag="akeneo-config"
这是已发布配置文件的内容
return [ 'models' => [ 'product_model' => \JustBetter\Akeneo\Models\ProductModel::class, 'product' => \JustBetter\Akeneo\Models\Product::class, 'attribute' => \JustBetter\Akeneo\Models\Attribute::class, 'channel' => \JustBetter\Akeneo\Models\Channel::class, 'attribute_types' => [ 'Simpleselect' => \JustBetter\Akeneo\Models\Attribute\Simpleselect::class, 'Multiselect' => \JustBetter\Akeneo\Models\Attribute\Multiselect::class, 'Text' => \JustBetter\Akeneo\Models\Attribute\Text::class, 'Date' => \JustBetter\Akeneo\Models\Attribute\Date::class, ], ], 'connections' => [ 'default' => [ 'url' => env('AKENEO_URL'), 'client_id' => env('AKENEO_CLIENT_ID'), 'secret' => env('AKENEO_SECRET'), 'username' => env('AKENEO_USERNAME'), 'password' => env('AKENEO_PASSWORD'), ], ], 'cache_ttl' => 30, ];
使用方法
支持的功能
- 多个 Akeneo 连接(进行中)
- 自定义模型类
- 产品模型
- 获取所有
- 懒加载获取所有
- 按代码查找
- 保存
- 产品
- 获取所有
- 懒加载获取所有
- 按代码查找
- 保存
如何使用
所有
从 Akeneo 获取所有资源
$models = ProductModel::all();
默认情况下,这将返回一个 Collection
,但可以通过覆盖您自定义模型上的 newCollection
方法进行修改。
您还可以通过设置配置中的 TTL 来缓存 all()
方法
懒加载
从 Akeneo 懒加载获取所有资源将返回一个 LazyCollection
$models = ProductModel::lazy();
有关方法的完整列表,请参阅 Laravel 文档中的 懒加载集合
查找
通过代码查找资源
$product = Product::find('code-123');
属性
在模型上调用属性代码将返回该属性类型的类。这些在配置中定义,并且可以轻松扩展。
$product->product_name->setValue( data: 'test product 3', locale: null, # default scope: null # default );
选项
可以构造并传递与它们兼容的选项给属性
$option = \JustBetter\Akeneo\DataObjects\Option::make( data: 'tag 1', locale: null, scope: null ) $product->tags->addOption($option); $product->tags->removeOption($option); $product->tags->syncOptions([$option1, $option2]);
保存
保存更改后的模型并将其持久化到 akeneo
$product = Product::find('code-123'); $product->product_name->setValue( data: 'test product 3', locale: null, # default scope: null # default ); $product->save();
测试
工作流程需要测试包的 99%
。
make test # -- OR -- make coverage
请确保还运行静态分析检查
make analysis
或结合这两个要求
make all
变更日志
有关最近更改的更多信息,请参阅 CHANGELOG
贡献
请参阅 CONTRIBUTING 了解详情。
安全漏洞
请参阅 我们的安全策略 了解如何报告安全漏洞。
鸣谢
许可协议
MIT 许可协议(MIT)。有关更多信息,请参阅 许可文件