pixelpeter / laravel5-woocommerce-api-client
Laravel 5 对 Woocommerce REST API 的封装
Requires
- php: ^7.0
- automattic/woocommerce: 1.3.*
Requires (Dev)
- mockery/mockery: ^1.0
- phpunit/phpunit: ^6.5
- satooshi/php-coveralls: ^1.0
This package is auto-updated.
Last update: 2024-08-29 03:58:06 UTC
README
这是一个简单的 Laravel 5 封装,用于 Automattic 的官方 WooCommerce REST API PHP 库官方 WooCommerce REST API PHP 库。
版本概述
安装
步骤 1:通过 Composer 安装
对于 API 版本 v2,WooCommerce 3.0+,WordPress 4.4+,php 7.0+,Laravel 5.5+ 使用 v3.x 分支
composer require pixelpeter/laravel5-woocommerce-api-client ^3.0
对于 API 版本 v1,WooCommerce 2.6+,WordPress 4.4+,Laravel 5.4+ 使用 v2.x 分支
composer require pixelpeter/laravel5-woocommerce-api-client ^2.0
对于 Woocommerce 的旧版本,从 2.1+ 开始使用 v1.x 分支
composer require pixelpeter/laravel5-woocommerce-api-client ^1.0
步骤 2:添加服务提供者(v3.x 不需要)
在 app/config/app.php
中添加服务提供者
'provider' => [ ... Pixelpeter\Woocommerce\WoocommerceServiceProvider::class, ... ];
步骤 3:添加外观(v3.x 不需要)
在 app/config/app.php
中添加别名
'aliases' => [ ... 'Woocommerce' => Pixelpeter\Woocommerce\Facades\Woocommerce::class, ... ];
步骤 4:发布配置
php artisan vendor:publish --provider="Pixelpeter\Woocommerce\WoocommerceServiceProvider"
步骤 5:自定义配置
您可以直接在 config/woocommerce.php
中编辑配置,或者将这些值复制到您的 .env
文件中。
WOOCOMMERCE_STORE_URL=http://example.org WOOCOMMERCE_CONSUMER_KEY=ck_your-consumer-key WOOCOMMERCE_CONSUMER_SECRET=cs_your-consumer-secret WOOCOMMERCE_VERIFY_SSL=false WOOCOMMERCE_VERSION=v1 WOOCOMMERCE_WP_API=true WOOCOMMERCE_WP_QUERY_STRING_AUTH=false WOOCOMMERCE_WP_TIMEOUT=15
示例
获取所有可用端点的索引
use Woocommerce; return Woocommerce::get('');
查看所有订单
use Woocommerce; return Woocommerce::get('orders');
查看在特定日期之后创建的所有已完成订单
对于旧版 API 版本
(WC 2.4.x 或更高版本,WP 4.1 或更高版本)使用此语法
use Woocommerce; $data = [ 'status' => 'completed', 'filter' => [ 'created_at_min' => '2016-01-14' ] ]; $result = Woocommerce::get('orders', $data); foreach($result['orders'] as $order) { // do something with $order } // you can also use array access $orders = Woocommerce::get('orders', $data)['orders']; foreach($orders as $order) { // do something with $order }
对于当前 API 版本
(WC 2.6.x 或更高版本,WP 4.4 或更高版本)使用此语法。 after
必须是符合 ISO-8601 的日期!≠
use Woocommerce; $data = [ 'status' => 'completed', 'after' => '2016-01-14T00:00:00' ] ]; $result = Woocommerce::get('orders', $data); foreach($result['orders'] as $order) { // do something with $order } // you can also use array access $orders = Woocommerce::get('orders', $data)['orders']; foreach($orders as $order) { // do something with $order }
更新产品
use Woocommerce; $data = [ 'product' => [ 'title' => 'Updated title' ] ]; return Woocommerce::put('products/1', $data);
分页
因此,您无需处理请求和响应头以及计算,此封装将为您完成所有繁重的工作。(WC 2.6.x 或更高版本,WP 4.4 或更高版本)
use Woocommerce; // assuming we have 474 orders in pur result // we will request page 5 with 25 results per page $params = [ 'per_page' => 25, 'page' => 5 ]; Woocommerce::get('orders', $params); Woocommerce::totalResults(); // 474 Woocommerce::firstPage(); // 1 Woocommerce::lastPage(); // 19 Woocommerce::currentPage(); // 5 Woocommerce::totalPages(); // 19 Woocommerce::previousPage(); // 4 Woocommerce::nextPage(); // 6 Woocommerce::hasPreviousPage(); // true Woocommerce::hasNextPage(); // true Woocommerce::hasNotPreviousPage(); // false Woocommerce::hasNotNextPage(); // false
HTTP 请求 & 响应(头部)
use Woocommerce; // first send a request Woocommerce::get('orders'); // get the request Woocommerce::getRequest(); // get the response headers Woocommerce::getResponse(); // get the total number of results Woocommerce::getResponse()->getHeaders()['X-WP-Total']
更多示例
有关更多示例和文档,请参阅WooCommerce REST API 文档。
测试
使用以下命令运行测试
vendor/bin/phpunit
许可证
MIT 许可证(MIT)。有关更多信息,请参阅许可证文件。