shiftplanning/humanity-php-sdk

Humanity PHP SDK

1.1.8 2016-05-08 11:01 UTC

This package is not auto-updated.

Last update: 2024-04-27 15:09:57 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>';