shoppimon/ockham

支持/工单系统API抽象层

dev-master 2015-04-29 17:21 UTC

This package is not auto-updated.

Last update: 2024-09-28 17:12:41 UTC


README

Ockham是一个最小的抽象层,封装了不同的API以支持第三方工单系统。它的目的不是提供人们从工单系统API中期望的所有功能,而是一个“最低的共同分母”实现,即大多数应用程序在集成工单系统时所需的最小功能——即创建工单,以及可能的一些其他操作,但不超过这些。

安装

Ockham通过Composer提供。通过在项目根目录运行以下composer命令将Ockham添加到您的项目中:

$ composer require shoppimon/ockham

此外,大多数服务适配器实现都需要显式要求(它们仅由composer包建议,而不是要求,因为大多数人不会使用所有这些)。因此,您还需要要求特定的底层库(例如):

$ composer require uservoice/uservoice

这将带来任何所需的依赖项。

请注意,Composer将设置所需的包含路径,所以如果您还没有这样做(通常您的框架会这样做),您需要从vendor/autoload.phprequire Composer的自动加载器文件。

实现适配器

  • uservoice - 在uservoice.com上创建工单需要uservoice/uservoice composer包
  • zendmail - 使用Zend\Mail ZF2组件通过发送电子邮件到指定的地址“创建工单”。需要zendframework/zend-mail composer包
  • mock - 一个模拟实现,实际上并不做任何事情,也没有任何要求;仅用于测试目的。

用法

安装后,您可以使用Factory方法获取所需的后端类实例

use Ockham\Factory;

$options = array(
    'transport' => array(
        'type' => 'smtp',
        'options' => array()
    ),
    'to' => array('feedback@shoppimon.com', 'Shoppimon Support'),
    'from' => array('do-not-reply@shoppimon.com'),
    'subject_prefix' => '[Support Request]'
);
$ticketService = Factory::createService('zendmail', $options);
$ticketService->createTicket('noob@example.com', 'I need help!', $message);

一些额外的选项和功能在代码中有文档说明(目前如此,抱歉)。

框架封装器

我们的目标是发布Ockham,不严格依赖于任何PHP框架。也就是说,我们旨在提供一些可选的“框架封装器”,它们使用框架特定的服务提供者API封装Factory类。

目前,Zend Framework 2用户可以使用Ockham\Wrapper\Zf2类作为Service Manager Factory,以便轻松地将Ockham作为全局服务提供。有关详细信息,请参阅类的PHPDoc注释。

贡献,待办事项

您可以通过fork项目的规范仓库并发送pull请求来贡献。以下是一个非详尽的待办事项列表

  • 单元测试
  • 文档
  • 创建额外的适配器(例如,ZenDesk,更多邮件适配器)

版权

(c) 2015 Shoppimon LTD,版权所有。

Ockham是由Shoppimon的开发团队发布的一个开源项目,在MIT许可证下发布。