openclassrooms / front-desk
前台库
v1.1.6
2017-11-20 14:35 UTC
Requires
- php: >=5.6
- guzzlehttp/guzzle: ~6.0
- nesbot/carbon: ~1.8
Requires (Dev)
- phpunit/phpunit: ~5.5
- satooshi/php-coveralls: dev-master
README
FrontDesk
这是一个PHP5库,它为您的应用程序提供FrontDesk Core API功能。
安装
安装FrontDesk库最简单的方式是通过composer。
创建以下composer.json
文件,并运行php composer.phar install
命令来安装。
{ "require": { "openclassrooms/front-desk": "*" } }
<?php require 'vendor/autoload.php'; use OpenClassrooms\FrontDesk\Services\PackService; use OpenClassrooms\FrontDesk\Services\PersonService; //do things
用法
实例化
如果您计划在Symfony2项目中使用FrontDesk,请查看FrontDeskBundle。该包为这个库提供了一个简单的配置选项。
工厂
该库提供了一个工厂来创建客户端
use OpenClassrooms\FrontDesk\Client\Impl\ClientFactoryImpl; $factory = new ClientFactoryImpl(); $client = $factory->createCoreApi('your_front_desk_server_name', 'your_token'); \\ $client = $factory->createReportingApi('your_front_desk_server_name', 'your_token');
端点
注册
网关
use OpenClassrooms\FrontDesk\Repository\PackRepository; $enrollmentGateway = new EnrollmentRepository(); $enrollmentGateway->setReportingApiClient($client);
服务
服务实例化
use OpenClassrooms\FrontDesk\Services\Impl\EnrollmentServiceImpl; $service = new EnrollmentServiceImpl(); $service->setEnrollmentGateway($enrollmentGateway);
创建查询
... $service->query($field, $filter, $limit);
包
网关
use OpenClassrooms\FrontDesk\Repository\PackRepository; $packGateway = new PackRepository(); $packGateway->setCoreApiClient($client);
构建器
use OpenClassrooms\FrontDesk\Models\PersonBuilder; $pack = $packBuilder ->create() ->withCount(5) ->withEndDate(new \DateTime()) ->withPersonIds([21987]) ->withStartDate(new \DateTime()) ->build();
服务
服务实例化
use OpenClassrooms\FrontDesk\Services\Impl\PackServiceImpl; $service = new PackServiceImpl(); $service->setPackGateway($packGateway);
创建包
... $service->create($pack, $packProductId);
按ID删除包
... $service->deletePack($packId);
人员
网关
use OpenClassrooms\FrontDesk\Repository\PersonRepository; $personGateway = new PersonRepository(); $personGateway->setCoreApiClient($client); $personGateway->setPersonBuilder(new PersonBuilderImpl());
构建器
该库提供了一个构建器来创建人员
use OpenClassrooms\FrontDesk\Models\PersonBuilder; $person = $personBuilder->create() ->withAddress('address') ->withEmail('email') ->withFirstName('first_name') ->withJoinedAt(new \DateTime()) ->withLastName('last_name') ... ->build();
服务
服务实例化
use OpenClassrooms\FrontDesk\Services\Impl\PersonServiceImpl; $service = new PersonServiceImpl(); $service->setPersonGateway($personGateway);
发布人员
$service->create($person);
更新人员
$service->update($person);
按ID获取人员
$service->find($personId);
获取所有人员
$service->findAll($page);
通过查询搜索人员
$service->search($query);
计划
网关
网关
该库为人员、包、计划和访问提供了网关
$planGateway = new PlanRepository(); $planGateway->setCoreApiClient($client); $planGateway->setPlanBuilder(new PlanBuilderImpl());
服务
服务实例化
$service = new PlanServiceImpl(); $service->setPlanGateway($planGateway);
按人员ID获取计划
$service->getPlans($personId);
访问
网关
use OpenClassrooms\FrontDesk\Repository\VisitRepository; $visitGateway = new VisitRepository(); $visitGateway->setCoreApiClient($client); $visitGateway->setVisitBuilder(new VisitBuilderImpl());
服务
服务实例化
$service = new VisitServiceImpl(); $service->setVisitGateway($visitGateway);
按人员ID获取访问
$service->getVisits($personId, $from, $to);
按ID删除访问
$service->deleteVisit($visitId);