https://github.com/andy87/providerheadhunter
Facade API Head Hunter (hh.ru)
https://github.com/andy87/providerheadhunter
Last synced: 4 months ago
JSON representation
Facade API Head Hunter (hh.ru)
- Host: GitHub
- URL: https://github.com/andy87/providerheadhunter
- Owner: andy87
- Created: 2024-05-15T08:11:47.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-05-27T22:35:05.000Z (about 1 year ago)
- Last Synced: 2025-01-13T06:06:19.781Z (5 months ago)
- Size: 23.4 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# providerHeadHunter
PHP Фасад для API Head Hunter (www.hh.ru)
---
> [!NOTE]
> ---
#### Реализация
Пакет реализует запросы к API Head Hunter через репозиторий [KnockKnock](https://github.com/andy87/KnockKnock)- API: реализация запросов к api сервису `Head Hunter`
- Servcie: Фасад для класса API### Использование Api
Методы Api возвращают массив с данными.
```php
use and_y87\provider_head_hunter\ApiHeadHunter;
use and_y87\provider_head_hunter\dto\HeadHunterApiRequisites;
use and_y87\provider_head_hunter\cache\CacheProvider;// Создание класса `CacheProvider`
class RedisCacheProvider extends CacheProvider
{
public function getValue( string $key ): string
{
return (string) Yii::$app->redis->get( $key );
}public function setValue( string $key, mixed $value ): bool
{
return Yii::$app->redis->set( $key, $value );
}
}// Создание экземпляра класса `CacheProvider`
$redisCacheProvider = new RedisCacheProvider();// Создание экземпляра класса `Requisites`
$headHunterApiRequisites = new HeadHunterApiRequisites( $appName, $contactEmail, $client_id, $client_secret );// Создание экземпляра класса `Api`
$apiHeadHunter = ApiHeadHunter( $headHunterApiRequisites, $redisCacheProvider );// Использование `Api`
$me = $apiHeadHunter->me(); // return arrayecho $me['name']; // получение значения массива по ключу (hardcode)
```
### Использование Service
Методы Service возвращают объекты(экзмпляры классов) содержащие актуальные для endpoint свойства, согласно документации сервиса.
```php
use and_y87\provider_head_hunter\service\AvitoService;//Вводная часть при использовании сервиса аналогична Api
// Создание экземпляра класса `Service`
$headHunterService = new HeadHunterService($apiHeadHunter);// Использование `Service`
$me = $headHunterService->myInfo(); // return and_y87\api_head_hunter\response\Me();echo $me->name; // Получение значение из объекта через обращение к свойству
```#### Схема работы API
### Исходная документация API `Head Hunter`:
- https://github.com/hhru/api
- https://api.hh.ru/openapi/redoc