clarity-tech/laravel-ezyslips

v1.1.0 2023-09-22 11:46 UTC

This package is auto-updated.

Last update: 2024-09-22 14:47:17 UTC


README

Laravel Ezyslips 是一个简单的包,有助于构建与 Ezyslips 的稳健集成。

安装

将包添加到 composer.json

composer require clarity-tech/laravel-ezyslips

Laravel 5.5+

包自动发现将为您设置别名和外观

Laravel 5.4 <

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

<?php

'providers' => [
    ...
    ClarityTech\Ezyslips\EzyslipsServiceProvider::class,
],

设置外观别名

<?php

'aliases' => [
    ...
    'Ezyslips' => ClarityTech\Ezyslips\Facades\Ezyslips::class,
],

设置凭证

在您的 .env 文件中,从您的应用程序设置这些值 EZYSLIPS_EMAIL=your-email EZYSLIPS_LICENSE_KEY=your-license-key

可选配置(发布)

Laravel Ezyslips 需要您设置电子邮件和许可证密钥配置。您需要发布配置资产

`php artisan vendor:publish --tag=ezyslips-config`

这将在配置目录中创建一个 ezyslips.php 文件。

'key' => env("EZYSLIPS_EMAIL", null),
'secret' => env("EZYSLIPS_LICENSE_KEY", null)

使用方法

只需设置环境变量,并使用 Ezyslips 外观或将其解析到容器中

use ClarityTech\Ezyslips\Facades\Ezyslips;

return Ezyslips::api()->order->create(
    $attributes
);

控制器示例

如果您像我一样更喜欢使用依赖注入而不是外观,则可以注入该类

use Illuminate\Http\Request;
use ClarityTech\Ezyslips\Ezyslips;

class Foo
{
    protected $ezyslips;

    public function __construct(Ezyslips $ezyslips)
    {
        $this->ezyslips = $ezyslips;
    }
    /*
    * returns a single order
    */
    public function getOrder(Request $request)
    {
        $orders = $this->ezyslips
            ->order->fetch(['orderid' => 40586]);
    }

    /*
    * returns the array of orders
    */
    public function getOrder(Request $request)
    {
        $orders = $this->ezyslips
            ->order->all(['status' => 'A']);
    }

    /*
    * Advanced use case call the api directly
    * with specifying the prefix
    * returns the raw responses
    */
    public function getOrder(Request $request)
    {
        $orders = $this->ezyslips
            ->get('getorders');

    }
}

杂项

获取响应头

Ezyslips::getHeaders();

获取特定头

Ezyslips::getHeader("Content-Type");

检查头是否存在

if(Ezyslips::hasHeader("Content-Type")){
    echo "Yes header exist";
}

获取响应状态码或状态消息

Ezyslips::getStatusCode(); // 200
Ezyslips::getReasonPhrase(); // ok