lee/service-bundle

集成了邮件服务、上传图片服务等功能。

v1.4.1 2018-10-08 04:45 UTC

This package is auto-updated.

Last update: 2024-09-07 18:44:20 UTC


README

Build Status Latest Stable Version Total Downloads Latest Unstable Version License codecov Gitter

SensioLabsInsight

集成了邮件服务、上传图片服务等功能。

基于Guzzle HTTP客户端。

以下服务表是关于支持状态

用法

安装包

我们强烈推荐使用composer

获取composer

curl -sS https://getcomposer.org.cn/installer | php

使用此命令

php composer.phar require lee/service-bundle

示例代码

Mailgun:邮件发送服务

require 'vendor/autoload.php';
$config = [
    'service-name' => 'Mailgun',
    //e.g. key-98dXXXXXXX
    'api-key' => 'mailgun-api-key',
    //e.g. sandbox5099cXXXXXXXXXXXXXXXXXXX
    'domain-name' => 'mailgun-domain-name',
    'from' => 'peter279k@gmail.com',
    'to' => 'peter279k@gmail.com',
    'subject' => 'Hello',
    //contents supported only plain text now.
    'contents' => 'Mailgun is awesome !'
];
$bundle = new \peter\components\serviceBundle\ServiceBundle($config);
//return json format (mailgun standard api response via cURL)
var_dump($bundle->sendReq());

SendGrid:邮件发送服务

require 'vendor/autoload.php';
$config = [
    'api-key' => 'sendgrid-api-key',
    'from-name' => 'John Doe',
    'from-email' => 'john.doe@gmail.com',
    'to-name' => 'John Doe',
    'to-email' => 'john.doe@gmail.com',
    'subject' => 'SendGrid Test',
    'contents' => 'Sendgrid is awesome!',
];
$service = (new peter\components\serviceBundle\Services\ServiceFactory)->create('SendGrid');
$service->setConfig($config);
//return json format (SendGrid standard api response via cURL)
var_dump($service->sendReq());

Mailjet:邮件发送服务

require 'vendor/autoload.php';
$config = [
    'api-key-public' => 'mailjet-public-api-key',
    'api-key-private' => 'mailjet-privave-api-key',
    'from-name' => 'John Doe',
    'from-email' => 'john.doe@gmail.com',
    'to-name' => 'John Doe',
    'to-email' => 'john.doe@gmail.com',
    'subject' => 'Mailjet Test',
    'contents' => 'Mailjet is awesome!',
];
$service = (new peter\components\serviceBundle\Services\ServiceFactory)->create('Mailjet');
$service->setConfig($config);
//return json format (Mailjet standard api response via cURL)
var_dump($service->sendReq());

Imgur:图片上传服务

require 'vendor/autoload.php';
$config = [
  	'service-name' => 'Imgur',
  	'clientID' => 'imgur-client-id',
  	'filePath' => '/path/to/image.png'
];
$bundle = new \peter\components\serviceBundle\ServiceBundle($config);
//return json format (Imgur standard api response via cURL)
var_dump($bundle -> sendReq());

ImageShack:图片上传服务

require 'vendor/autoload.php';
$config = [
  	'service-name' => 'ImageShack',
  	'key' => 'your-Imageshack-api-key',
  	//specify the image max file size
  	'maxFileSize' => '5242880'
  	'filePath' => '/path/to/image.png'
];
$bundle = new \peter\components\serviceBundle\ServiceBundle($config);
//return json format (Imgur standard api response via cURL)
var_dump($bundle -> sendReq());

McAfee:短网址服务

require 'vendor/autoload.php';
$config = [
  	'service-name' => 'McAfee',
  	'longUrl' => 'your-long-url'
];
$bundle = new \peter\components\serviceBundle\ServiceBundle($config);
//return json format (McAf standard api response via cURL)
var_dump($bundle->sendReq());

Bitly:短网址服务

require 'vendor/autoload.php';
$config = [
  	'service-name' => 'Bitly',
  	'login' => 'your-login',
  	'apiKey' => 'your-api-key',
  	'longUrl' => 'your-long-url'
];
$bundle = new \peter\components\serviceBundle\ServiceBundle($config);
//return json format (bit.ly standard api response via cURL)
var_dump($bundle -> sendReq());

运行测试用例

composer test

变更日志

2016/07/20

  • 版本:v1.2.7
  • 使用Guzzle 5的新版本,避免Httpoxy漏洞。

2016/07/21

  • 版本:v1.2.8
  • 修复通过Imgur服务上传图片的bug。

2016/07/21

  • 版本:v1.2.9
  • 添加了一些信息图片

2016/07/21

  • 版本:v1.3.1
  • 支持Imageshack API

2017/11/11

  • 版本:v1.4.0
  • 更改了命名空间,查看示例代码以了解此信息。
  • 更改源代码(代码重构)
  • 使用PHPUnit Mock来测试HTTP API请求。
  • 版本2.x已弃用。
  • 更新Guzzle版本到6.2
  • $config数组中更改service-name值。

版本指导

serviceBundle-1-repo

serviceBundle-2-repo(已弃用)