shiftplanning / humanity-php-sdk
Humanity PHP SDK
1.1.8
2016-05-08 11:01 UTC
Requires
- php: >=5.4.0
- guzzle/guzzle: ~3.7
- league/oauth2-client: ~0.11.0
This package is not auto-updated.
Last update: 2025-04-26 20:31:29 UTC
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>';