https://github.com/andy87/provideravito
ProviderAvito - facade API Avio (avito.ru)
https://github.com/andy87/provideravito
Last synced: 3 months ago
JSON representation
ProviderAvito - facade API Avio (avito.ru)
- Host: GitHub
- URL: https://github.com/andy87/provideravito
- Owner: andy87
- Created: 2024-05-15T08:13:37.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-05-27T22:34:51.000Z (about 1 year ago)
- Last Synced: 2025-01-13T06:06:20.029Z (5 months ago)
- Size: 26.4 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# providerAvito
PHP Фасад для API Avio (www.avito.ru)
---
> [!NOTE]
> ---
#### Реализация
Пакет реализует запросы к API Avio через репозиторий [KnockKnock](https://github.com/andy87/KnockKnock)- API: реализация запросов к api сервису `Avito`
- Servcie: Фасад для класса API### Использование Api
Методы Api возвращают массив с данными.
```php
use and_y87\provider_avito\ApiAvito;
use and_y87\provider_avito\dto\AvitoApiRequisites;
use and_y87\provider_avito\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`
$avitoApiRequisites = new AvitoApiRequisites( $client_id, $client_secret );// Создание экземпляра класса `Api`
$apiAvito = ApiAvito( $avitoApiRequisites, $redisCacheProvider );// Использование `Api`
$me = $apiAvito->me(); // return arrayecho $me['name']; // получение значения массива по ключу (hardcode)
```
### Использование Service
Методы Service возвращают объекты(экзмпляры классов) содержащие актуальные для endpoint свойства, согласно документации сервиса.
```php
use and_y87\provider_avito\service\AvitoService;//Вводная часть при использовании сервиса аналогична Api
// Создание экземпляра класса `Service`
$avitoService = new AvitoService($apiAvito);// Использование `Service`
$me = $avitoService->myInfo(); // return and_y87\api_avito\response\Me();echo $me->name; // Получение значение из объекта через обращение к свойству
```#### Схема работы API
### Исходная документация API `Avio`:
- https://developers.avito.ru/about-api
- https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.0.md