fundacion-ciudad-del-saber / ivvy-sdk-php
一个与 iVvy API 1.0 兼容的、遵循 PSR-4 和 PSR-2 的 PHP 7.1 SDK
0.2.7
2017-12-18 15:31 UTC
Requires
- guzzlehttp/guzzle: ~6.0
- respect/validation: ^1.1
Requires (Dev)
- phpunit/phpunit: ~6.3
- squizlabs/php_codesniffer: ~3
This package is not auto-updated.
Last update: 2024-09-20 21:17:11 UTC
README
一个遵循 PSR-4 的 SDK,用于与 iVvy API 1.0 一起工作
安装
通过 composer 安装。
$ composer require fundacion-ciudad-del-saber/ivvy-sdk-php:^0.1
如何使用?
此软件包通过 Ivvy
和 JobFactory
类公开了 2 个高级 API。了解这一点很重要,因为 此软件包的设计主要是为了您使用这些 2 个类以及 Fcds\Ivvy\Model
命名空间内的实体。
Ivvy
类是您与 iVvy 通信的客户端类。它公开了端点,这些端点直接映射到命名空间的操作(根据 iVvy API 1.0 文档)。
$ivvy = (new Fcds\Ivvy\IvvyFactory)->newInstance($apiKey, $apiSecret); $companies = $ivvy->getCompanyList();
JobFactory
类是一个特殊类,旨在与 iVvy 的 batch
命名空间中的异步作业队列一起工作,特别是与 run
操作。它基本上抽象了要发送的作业的创建。到 0.1.0
版本发布时,尚无工厂或“简单”的方法来实例化此类,因此我们只需传递所有具体的依赖项。
$jobFactory = new Fcds\Ivvy\JobFactory( new Fcds\Ivvy\Model\Validator\AddCompanyValidator, new Fcds\Ivvy\Model\Validator\UpdateCompanyValidator, new Fcds\Ivvy\Model\Validator\AddContactValidator, new Fcds\Ivvy\Model\Validator\UpdateContactValidator ); $companyToBeAdded = new Fcds\Ivvy\Model\Company([ ... ]); $companyToBeUpdated = new Fcds\Ivvy\Model\Company([ ... ]); $addJob = $jobFactory->newAddCompanyJob($companyToBeAdded); $updateJob = $jobFactory->newUpdateCompanyJob($companyToBeUpdated); $asyncId = $ivvy->run([$addJob, $updateJob]);
在特定情况下,对于添加或更新实体的作业,JobFactory 将在那些实体上调用验证方法,传递相应的规范。简单来说,每次您尝试使用不具有相应作业适当值的实体创建作业时,它将抛出 BusinessRuleException
。(例如:您尝试更新一家公司,但公司对象没有设置 ID)。
try { $companyWithInvalidValues = new Fcds\Ivvy\Model\Company([ ... ]); $jobFactory->newAddCompanyJob($companyWithInvalidValues); } catch (Fcds\Ivvy\Model\BusinessRuleException $e) { error_log($e->getMessage()); // An exception will be thrown here }
测试
运行测试套件
$ vendor/bin/phpunit
带有覆盖率的运行测试套件
$ vendor/bin/phpunit --testdox --coverage-text
运行代码检查
$ vendor/bin/phpcs
修复代码检查问题
$ vendor/bin/phpcbf