mindsize / laravel5-woocommerce
Laravel 5 的 WooCommerce API 客户端
1.0.3
2017-09-25 16:18 UTC
Requires
- php: ^7.0
- automattic/woocommerce: 1.3.*
- illuminate/support: ^5.5
Requires (Dev)
- mockery/mockery: ^0.9.4
- phpunit/phpunit: ^6.2
- satooshi/php-coveralls: ^1.0
- squizlabs/php_codesniffer: ^3.0
This package is auto-updated.
Last update: 2024-09-19 08:27:05 UTC
README
这是 Automattic 的官方 WooCommerce REST API PHP 库的简单 Laravel 5 包装器。
安装
步骤 1: 通过 Composer 安装
composer require mindsize/laravel5-woocommerce
步骤 2: 发布配置
php artisan vendor:publish --provider="Mindsize\WooCommerce\ServiceProvider"
步骤 3: 自定义配置
您可以直接在 config/woocommerce.php 中编辑配置,或者将这些值复制到您的 .env 文件中。
WC_STORE_URL=http://example.org WC_CONSUMER_KEY=ck_your-consumer-key WC_CONSUMER_SECRET=cs_your-consumer-secret WC_VERIFY_SSL=false WC_VERSION=v1 WC_WP_API=true WC_WP_QUERY_STRING_AUTH=false WC_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)。有关更多信息,请参阅 许可证文件。
从 pixelpeter/laravel5-woocommerce-api-client 分支
感谢 Peter!