DevCraft Документации

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

Обзор

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

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

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

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

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

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

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

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

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

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

KinopoiskDev

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

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. Разная логика фильтрации - синтаксис фильтров не совпадает

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

// 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 в проекте

On this page