saccas / hitobito-json-api-model
There is no license information available for the latest version (v2.1.0) of this package.
v2.1.0
2026-03-18 16:08 UTC
Requires
- saccas/json-api-model: @dev
This package is auto-updated.
Last update: 2026-03-18 17:46:20 UTC
README
PHP model for the Hitobito API. This model was automatically generated on the basis of the OpenAPI specification and requires the abstract saccas/json-api-model.
Installation
Extend your composer.json
{
"repositories": [
{
"type": "git",
"url": "git@github.com:saccas/json-api-model.git"
},
{
"type": "git",
"url": "git@github.com:saccas/hitobito-json-api-model.git"
}
]
}
Require this package:
composer require saccas/hitobito-json-api-model @dev
Usage
<?php
require __DIR__.'/vendor/autoload.php';
$baseUri = 'https://sac-cas.puzzle.ch';
$defaultHeaders = [
'X-TOKEN' => '…',
];
$hitobitoApi = new \Saccas\HitobitoApi\HitobitoApi(new \GuzzleHttp\Client(), $baseUri, $defaultHeaders);
$coursesRepository = $hitobitoApi->getCoursesRepository();
$allCourses = $coursesRepository->getAll();
foreach($allCourses as $course) {
echo $course->getId() . ' ' . $course->getName() . "\n";
echo 'Location: ' . $course->getLocation() . "\n";
echo 'Start: ' . $course->getDates()->get(0)->getStartAt()->format('Y-m-d') . "\n";
$contact = $course->getContact();
if (isset($contact)) {
echo 'Contact: ' . $contact->getFirstName() . ' ' . $contact->getLastName() . "\n";
}
echo 'Accommodation: ' . $course->getAccommodation() . "\n";
echo "\n";
}