Перейти к содержанию

Сравнение KinopoiskDev и NotKinopoiskPHP

Обзор

Важно: Это два совершенно разных API от разных команд разработки!

Эти API не совместимы между собой, имеют разную структуру данных и эндпоинты.

Основные различия

API и разработка

Аспект KinopoiskDev NotKinopoiskPHP
API kinopoisk.dev ⧉ kinopoiskapiunofficial.tech ⧉
Статус Активная разработка, современный API Стабильный, но менее активная разработка
Поддержка Telegram группа ⧉ (7,908 участников) ❌ Даже на Email не отвечают
Совместимость ❌ Не совместим с NotKinopoiskPHP ❌ Не совместим с KinopoiskDev

Архитектура библиотек

Аспект KinopoiskDev NotKinopoiskPHP
Подход Объектно-ориентированный с использованием атрибутов PHP 8.3+ Функциональный с использованием трейтов
Структура Модульная с четким разделением ответственности Монолитная с общими классами
Валидация Декларативная через атрибуты #[Validation] Ручная валидация в методах
Кэширование Интерфейс CacheInterface с возможностью подключения различных драйверов Встроенное кэширование
Логирование PSR-3 совместимый LoggerInterface Простое логирование

Функциональность

Функция KinopoiskDev NotKinopoiskPHP
Поиск фильмов ✅ Расширенные фильтры с поддержкой диапазонов ✅ Базовые фильтры
Поиск персон ✅ Специализированные фильтры для персон ✅ Базовый поиск
Работа с изображениями ✅ Фильтры по разрешению, типу ✅ Базовые возможности
Валидация данных ✅ Автоматическая через атрибуты ⚠️ Ручная
Обработка ошибок ✅ Специализированные исключения ✅ Базовые исключения
Кэширование ✅ Гибкая система кэширования ⚠️ Простое кэширование
Логирование ✅ PSR-3 совместимое ⚠️ Базовое

Примеры использования

KinopoiskDev

PHP
use KinopoiskDev\Http\MovieRequests;
use KinopoiskDev\Filter\MovieSearchFilter;

$kinopoisk = new MovieRequests(apiToken: 'your-token');

// Поиск с расширенными фильтрами
$filter = new MovieSearchFilter();
$filter->withYearBetween(2020, 2024)
       ->withMinRating(7.0, 'kp')
       ->withAllGenres(['драма', 'комедия'])
       ->onlyMovies();

$movies = $kinopoisk->searchMovies($filter);

NotKinopoiskPHP

PHP
use NotKinopoiskPHP\Client;

$client = new Client('your-token');

// Поиск с базовыми параметрами
$movies = $client->searchMovies([
    'year' => '2020-2024',
    'rating.kp' => '7-10',
    'genres.name' => 'драма,комедия',
    'type' => 'movie'
]);

Преимущества KinopoiskDev

1. Современный подход

  • Использование PHP 8.3+ атрибутов
  • Строгая типизация
  • Объектно-ориентированный дизайн

2. Расширенная функциональность

  • Более гибкие фильтры
  • Специализированные классы для разных типов данных
  • Автоматическая валидация

3. Лучшая архитектура

  • Модульная структура
  • Интерфейсы для расширяемости
  • PSR стандарты

4. Безопасность

  • Атрибут #[Sensitive] для конфиденциальных данных
  • Автоматическое скрытие в JSON/массивах

Преимущества NotKinopoiskPHP

1. Простота использования

  • Более простой API
  • Меньше кода для базовых операций
  • Быстрый старт

2. Совместимость

  • Работает с более старыми версиями PHP
  • Меньше зависимостей

3. Стабильность

  • Более зрелая библиотека
  • Больше тестов

Рекомендации по выбору

Выберите KinopoiskDev если:

  • Используете PHP 8.3+
  • Нужны расширенные возможности фильтрации
  • Важна архитектура и расширяемость
  • Требуется строгая типизация
  • Нужна интеграция с PSR стандартами

Выберите NotKinopoiskPHP если:

  • Используете более старые версии PHP
  • Нужны только базовые операции
  • Важна простота использования
  • Требуется максимальная совместимость

Миграция

⚠️ Важно: Прямая миграция между библиотеками невозможна из-за разных API!

Переход с NotKinopoiskPHP на KinopoiskDev

Требуется полный рефакторинг кода, так как:

  1. Разные API ключи - нужны отдельные ключи для каждого API
  2. Разная структура данных - модели и ответы не совместимы
  3. Разные эндпоинты - URL и параметры запросов отличаются
  4. Разная логика фильтрации - синтаксис фильтров не совпадает

Пример рефакторинга

PHP
1
2
3
4
5
6
7
8
9
// NotKinopoiskPHP (старый код)
$client = new Client('token');
$movies = $client->searchMovies(['year' => '2023']);

// KinopoiskDev (новый код) - ПОЛНОСТЬЮ ПЕРЕПИСАТЬ!
$kinopoisk = new MovieRequests(apiToken: 'new-token-for-kinopoisk-dev');
$filter = new MovieSearchFilter();
$filter->year(2023);
$movies = $kinopoisk->searchMovies($filter);

Рекомендации по миграции

  1. Получить новый API ключ на kinopoisk.dev ⧉
  2. Изучить документацию нового API
  3. Переписать все запросы с нуля
  4. Обновить обработку ответов под новую структуру данных
  5. Протестировать все функции

Заключение

KinopoiskDev представляет собой современную библиотеку для официального API kinopoisk.dev ⧉ с активной поддержкой через Telegram группу ⧉ (7,908 участников). Это выбор для новых проектов, требующих современного и активно поддерживаемого API.

NotKinopoiskPHP остается стабильным решением для неофициального API kinopoiskapiunofficial.tech, подходящим для проектов, которые уже используют этот API или требуют максимальной совместимости со старыми версиями PHP.

Выбор зависит от:

  • Требований к официальности API
  • Необходимости активной поддержки
  • Совместимости с существующим кодом
  • Версии PHP в проекте