РазработкиAPI Wrappers
KinopoiskDev PHP Wrapper v1.0.0
Современная PHP библиотека для работы с API kinopoisk.dev - неофициальным API КиноПоиска
Современная PHP библиотека для работы с API kinopoisk.dev - неофициальным API КиноПоиска.
Особенности
- Современный подход - использует PHP 8.3+ атрибуты и строгую типизацию
- Расширенные фильтры - гибкая система фильтрации с поддержкой диапазонов
- Автоматическая валидация - декларативная валидация через атрибуты
- PSR стандарты - совместимость с PSR-3 для логирования
- Активная поддержка - Telegram группа с 7,908 участниками
- Модульная архитектура - четкое разделение ответственности
Установка
composer require devcraftclub/kinopoisk-dev-phpБыстрый старт
<?php
use KinopoiskDev\Http\MovieRequests;
use KinopoiskDev\Filter\MovieSearchFilter;
// Создание клиента
$request = new MovieRequests(apiToken: 'your-api-token');
// Поиск фильмов с расширенными фильтрами
$filter = new MovieSearchFilter();
$filter->withYearBetween(2020, 2024)
->withMinRating(7.0, 'kp')
->withAllGenres(['драма', 'комедия'])
->onlyMovies();
$movies = $request->searchMovies($filter);
// Получение информации о фильме
$movie = $request->getMovieById(301);
echo $movie->name; // "Матрица"Архитектура
Основные компоненты
- Kinopoisk - главный класс для работы с API
- Фильтры - специализированные классы для разных типов поиска
- Модели - типизированные объекты для данных
- Атрибуты - декларативная валидация и конфигурация
- Сервисы - бизнес-логика и утилиты
Структура проекта
KinopoiskDev/
├── Attributes/ # PHP 8.3+ атрибуты
├── Contracts/ # Интерфейсы (PSR-3, кэширование)
├── Enums/ # Перечисления
├── Exceptions/ # Специализированные исключения
├── Filter/ # Классы фильтров
├── Http/ # HTTP запросы
├── Models/ # Модели данных
├── Responses/ # Ответы API
├── Services/ # Сервисы
└── Utils/ # УтилитыВозможности
Поиск фильмов
$filter = new MovieSearchFilter();
$filter->withYearBetween(2020, 2024)
->withMinRating(7.0, 'kp')
->withAllGenres(['драма', 'комедия'])
->onlyMovies()
->inTop250();
$movies = $kinopoisk->searchMovies($filter);Поиск персон
$filter = new PersonSearchFilter();
$filter->onlyActors()
->ageRange(30, 50)
->withMinRating(7.0, 'kp');
$persons = $kinopoisk->searchPersons($filter);Работа с изображениями
$filter = new ImageSearchFilter();
$filter->onlyPosters()
->minResolution(1920, 1080)
->onlyHighRes();
$images = $kinopoisk->getMovieImages(301, $filter);Автоматическая валидация
class Movie {
#[Validation(required: true, minLength: 1, maxLength: 255)]
public string $title;
#[Validation(min: 1900, max: 2030)]
public int $year;
#[Sensitive(hideInJson: true)]
public string $apiToken;
}Безопасность
- Атрибут
#[Sensitive]- автоматическое скрытие конфиденциальных данных - Валидация входных данных - защита от некорректных параметров
- Типизированные модели - предотвращение ошибок типов
Документация
- Основной класс - главный клиент API
- Атрибуты - валидация и конфигурация
- Фильтры - система фильтрации
- Модели - структуры данных
- Исключения - обработка ошибок
Полезные ссылки
- kinopoisk.dev - официальный сайт API
- Telegram группа - активное сообщество (7,908 участников)
- Сравнение с KinopoiskUnofficialTech - различия между библиотеками
Поддержка API
- Telegram: @omdb_dev - основная группа поддержки
- Email: поддержка через Telegram группу
- Документация: полная документация в этом разделе
Лицензия
MIT License - см. файл LICENSE для деталей.
Сравнение с альтернативами
| Особенность | KinopoiskDev | KinopoiskUnofficialTech |
|---|---|---|
| API | kinopoisk.dev | kinopoiskapiunofficial.tech |
| Поддержка | ✅ Активная (Telegram) | ❌ Отсутствует |
| PHP версия | 8.3+ | 8.3+ |
| Архитектура | Модульная | Монолитная |
| Валидация | Автоматическая | Ручная |
| Фильтры | Расширенные | Базовые |
Миграция
Если вы используете KinopoiskUnofficialTech, см. руководство по миграции.
KinopoiskDev - современное решение для работы с API КиноПоиска с активной поддержкой и развитием.