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
Installation
Install the latest version with
$ composer require shiftplanning/humanity-php-sdk
Usage
Initialize
Make sure to loade composer autoload file.
<?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);
Obtain access token
Obtained access token will be saved for you in _SESSION variable.
// Obtain access token $humanity->obtainAccessToken(); // Get access token instance $accessToken = $humanity->getAccessToken(); printf('Access token: %s<br/>', $accessToken->accessToken);
Retrive logged employee data
Invoking Humanity::me() will return Employee entity instance
$me = $humanity->me(); printf('Hello, %s<br/>', $me->display_name);
Working with entities
Retrieve data
// 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>';