pistej / humanity-php-sdk
Humanity PHP SDK
2.0.0
2021-09-29 16:59 UTC
Requires
- php: ^7.2.5 || ^8.0
- ext-json: *
- guzzlehttp/guzzle: ^7.2
- league/oauth2-client: ^2.6
Requires (Dev)
- roave/security-advisories: dev-latest
README
安装
使用以下命令安装最新版本
$ composer require shiftplanning/humanity-php-sdk
用法
初始化
请确保加载composer的autoload文件。
<?php use \Humanity\Entity\Company; use \Humanity\Entity\Employee; use \Humanity\Humanity; // Load Humanity SDK for PHP via composer $config = [ 'provider' => [ 'clientId' => '...', 'clientSecret' => '...', 'redirectUri' => '...', 'scopes' => [ Company::SCOPE_VIEW, Employee::SCOPE_VIEW ], ], ]; // Create new instance of humanity class $humanity = new Humanity($config);
获取访问令牌
获取的访问令牌将保存在_SESSION变量中。
// Obtain access token $humanity->obtainAccessToken(); // Get access token instance $accessToken = $humanity->getAccessToken(); printf('Access token: %s<br/>', $accessToken->accessToken);
检索登录员工数据
调用Humanity::me()将返回Employee实体实例
$me = $humanity->me(); printf('Hello, %s<br/>', $me->display_name);
与实体交互
检索数据
// Get Company repository instance $companyRepository = $humanity->getCompanyRepository(); // Retrieve company data for current logged employee $company = $companyRepository->get($me->company_id); printf('Company: %s<br/>', $company->name); // Get Employee repository instance $employeeRepository = $humanity->getEmployeeRepository(); // Retrieve employees data for company. $employees = $employeeRepository->getByCompany($company->company_id); echo 'Employees: '; echo '<ul>'; // Iterating employees collection foreach ($employees as $employee) { printf('<li>%s</li>', $employee->display_name); } echo '</ul>';