utocat / catalizr
此PHP包库用于Catalizr API
Requires
- php: >=5.4.0
- ext-curl: *
- ext-openssl: *
Requires (Dev)
- phpunit/phpunit: ^5.7
This package is not auto-updated.
Last update: 2024-09-25 09:01:23 UTC
README
CATALIZR LIBRARY
这是一个用于与Catalizr API协同工作的PHP客户端库。
需求
要使用此库,您至少需要以下内容
- PHP v5.6
- cURL(包含并启用在标准PHP发行版中)
- OpenSSL(包含并启用在标准PHP发行版中)
- 您不必使用Composer,但强烈建议您这样做(尤其是对于处理PSR Log库的依赖项)
使用Composer安装
您可以使用Composer将Catalizr库作为项目依赖项(这是首选方法)。如果您尚未安装Composer,请按照这些安装说明进行操作。在存储库中有一个composer.json文件,它已在Packagist中进行引用。
使用Composer安装既简单又可靠
步骤1 - 通过执行以下命令将Catalizr库作为依赖项添加
you@yourhost:/path/to/your-project$ composer require utocat/catalizr
步骤2 - 使用Composer更新您的依赖项
you@yourhost:/path/to/your-project$ composer update
步骤3 - 最后,确保将自动加载器包含到您的项目中
require_once '/path/to/your-project/vendor/autoload.php';
库已添加到您的依赖项中,并准备好使用。
不使用Composer安装
项目试图遵守PSR-4规范,以便从文件路径自动加载类。命名空间前缀是Catalizr\
,基本目录是/path/to/your-project/
。
如果您不使用PSR-4或Composer,安装就像下载库并将它存储在项目中可用的任何位置一样简单(不过别忘了包含所需的库依赖项)
require_once '/path/to/your-project/Catalizr/Autoloader.php';
许可证
Catalizr库在MIT许可证下分发,请参阅LICENSE文件。
单元测试
测试基于phpunit。要与其他质量工具一起安装它,您可以在克隆的项目中安装本地npm项目
git https://github.com/utocat/lib-catalizr-php.git
cd lib-catalizr-php
php composer.phar install
编辑phpunit.xml
文件,使用您的凭据通过功能测试。然后,您可以直接使用phing运行单元和功能测试。
vendor/bin/phing test
要跳过功能测试并只运行单元测试,可以使用only.units
选项
vendor/bin/phing test -Donly.units=true
联系方式
使用GitHub上的问题跟踪器报告错误或建议功能。
账户创建
您可以请求账户(请注意,您的沙盒/生产账户的验证可能需要几天时间,因此请提前考虑)。
配置
使用您的订阅的凭据,您应该将$api->config->publicKey
设置为您的Catalizr公钥,将$api->config->privateKey
设置为您的Catalizr私钥。
$api->config->url
设置为预生产环境。要启用生产环境,将其设置为https://api.catalizr.io
。
require_once '/path/to/your-project/vendor/autoload.php'; $api = new Catalizr\Api(); // configuration $api->config->publicKey = 'your-public-key'; $api->config->privateKey = 'your-private-key'; $api->config->url = 'https://preprod.api.catalizr.io'; // call some API methods... try { $investorIds = $api->investors->getAllId(); } catch(Exception $ex) { // handle/log the response exception with code $ex->getCode(), message $ex->getMessage() }
示例用法
require_once '/path/to/your-project/vendor/autoload.php'; $api = new Catalizr\Api(); // configuration $api->config->publicKey = 'your-public-key'; $api->config->privateKey = 'your-private-key'; $api->config->url = 'https://preprod.api.catalizr.io'; // Create an investor with personal ID try { $investor = new \Catalizr\Entity\Investors(); $investor->name = "Doe"; $investor->surname = "John"; $investor->birth_date = "1990/08/03"; $investor->birth_city = "Hirson"; $investor->address = "165 Avenue de Bretagne"; $investor->zip = "59000"; $investor->city="Lille"; $investor->country = "Nord"; $investor->title = "M."; $investor->iid = "MY_PERSONAL_ID"; $api->investors->create($investor); } catch(Exception $ex) { // handle/log the response exception with code $e->GetCode(), message $ex->getMessage() } // Get an investor with a personal ID try { $investorGet = $api->investors->getByExternalId($investor->iid); } catch(Exception $ex) { // handle/log the response exception with code $e->getCode(), message $ex->getMessage() }
在Symfony项目中使用Composer的示例用法
您可以在您的Symfony项目中集成Catalizr功能。
CatalizrService.php
<?php namespace Path\To\Service; use Catalizr; class CatalizrService { private $catalizrApi; public function __construct() { $this->catalizrApi = new Catalizr\Api(); $this->catalizrApi->config->publicKey = 'your-public-key'; $this->catalizrApi->config->privateKey = 'your-private-key'; $this->catalizrApi->config->url = 'https://api.preprod.catalizr.io'; } /** * Create a new * @return Investor $investor */ public function createInvestor() { $investor = new \Catalizr\Entity\Investors(); $investor->name = "Doe"; $investor->surname = "John"; $investor->birth_date = "1990/08/03"; $investor->birth_city = "Hirson"; $investor->address = "165 Avenue de Bretagne"; $investor->zip = "59000"; $investor->city="Lille"; $investor->country = "Nord"; $investor->title = "M."; $investor->iid = "MY_PERSONAL_ID"; //Send the request $investor = $this->catalizrApi->investors->create($investor); return $investor; } }
查看变更日志
您可以通过我们的变更日志文件跟踪所有更改。