API Kinopoisk PHP Wrapper Плагин NotKinopoisk PHP Library - Документация Полная документация PHP библиотеки для работы с Kinopoisk Unofficial API.
📚 Содержание 🚀 Быстрый старт 📦 Основные компоненты 🔧 Сервисы 📊 Модели данных 🔢 Перечисления (Enums) 📤 Ответы API ⚠️ Исключения 🔗 Интерфейсы 🚀 Быстрый старт Установка Bash composer require devcraftclub/kinopoiskapiunofficialtech
Базовое использование PHP <?php
require_once 'vendor/autoload.php' ;
use NotKinopoisk\Client ;
// Создание клиента
$client = new Client ( 'your-api-key' );
// Получение фильма по ID
$film = $client -> films -> getById ( 301 );
echo "Фильм: { $film -> getDisplayName () } \n " ;
echo "Рейтинг: { $film -> rating } \n " ;
echo "Год: { $film -> year } \n " ;
📖 Подробные примеры Работа с фильмами PHP // Поиск фильмов
$searchResults = $client->films->searchByKeyword('матрица');
// Получение топ фильмов
$topFilms = $client->films->getTop();
// Получение информации о фильме
$film = $client->films->getById(301);
$staff = $client->films->getStaff(301);
$facts = $client->films->getFacts(301);
Работа с персонами PHP // Поиск персон
$persons = $client->persons->searchByName('Том Круз');
// Получение информации о персоне
$person = $client->persons->getById(123);
$films = $client->persons->getFilms(123);
Работа с медиа PHP // Получение изображений
$images = $client->media->getImages(301, ImageType::POSTER);
// Получение видео
$videos = $client->media->getVideos(301);
🔧 Конфигурация Настройка клиента PHP $client = new Client('your-api-key', [
'timeout' => 30,
'retry_attempts' => 3,
'api_version' => ApiVersion::V2_1
]);
Обработка ошибок PHP try {
$film = $client->films->getById(999999);
} catch (ResourceNotFoundException $e) {
echo "Фильм не найден: {$e->getMessage()}\n";
} catch (RateLimitException $e) {
echo "Превышен лимит запросов\n";
} catch (ApiException $e) {
echo "Ошибка API: {$e->getMessage()}\n";
}
📊 Структура проекта Text Only src/
├── Client.php # Основной клиент
├── Services/ # Сервисы для работы с API
│ ├── FilmService.php
│ ├── PersonService.php
│ ├── MediaService.php
│ └── UserService.php
├── Models/ # Модели данных
│ ├── Film.php
│ ├── Person.php
│ ├── Staff.php
│ └── ...
├── Enums/ # Перечисления
│ ├── ImageType.php
│ ├── ReviewOrder.php
│ └── ...
├── Responses/ # Классы ответов
│ ├── DefaultResponse.php
│ ├── PaginatedResponse.php
│ └── ...
├── Exceptions/ # Исключения
│ ├── ApiException.php
│ ├── InvalidApiKeyException.php
│ └── ...
└── Interfaces/ # Интерфейсы
├── ModelInterface.php
└── ResponseInterface.php
🧪 Тестирование Запуск тестов Bash # Все тесты
XDEBUG_MODE = coverage KINOPOISK_API_KEY = your-key composer test
# Только unit тесты
composer test -- --testsuite= Unit
# Только интеграционные тесты
composer test -- --testsuite= Integration
Проверка качества кода Bash # PHPStan анализ
XDEBUG_MODE = coverage KINOPOISK_API_KEY = your-key composer phpstan
# PHP CodeSniffer
composer phpcs
📝 Примеры использования Смотрите папку examples/
⧉ для готовых примеров:
🔗 Полезные ссылки 25 июля 2025 г. 19:29:41 25 июля 2025 г. 09:40:47