devcraftclub / kinopoiskapiunofficialtech
PHP wrapper для Kinopoisk Unofficial API
                                    Fund package maintenance!
                                                                            
                                                                                                                                        Gokujo
                                                                                    
                                                                            
                                                                                                                                        Ko Fi
                                                                                    
                                                                            
                                                                                                                                        paypal.me/MaximH
                                                                                    
                                                                            
                                                                                                                                        sobe.ru/na/devcraftclub
                                                                                    
                                                                            
                                                                                                                                        yoomoney.ru/to/41001454367103
                                                                                    
                                                                            
                                                                                                                                        www.donationalerts.com/r/maharder
                                                                                    
                                                                
Installs: 1
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
pkg:composer/devcraftclub/kinopoiskapiunofficialtech
Requires
- php: ^8.3
 - ext-curl: *
 - ext-json: *
 - ext-mbstring: *
 - guzzlehttp/guzzle: ^7.8
 - vlucas/phpdotenv: ^5.5
 
Requires (Dev)
- phpstan/phpstan: ^1.10
 - phpunit/phpunit: ^10.0
 - squizlabs/php_codesniffer: ^3.7
 
Suggests
- ext-openssl: Для HTTPS соединений
 - ext-zlib: Для сжатия данных
 
This package is auto-updated.
Last update: 2025-10-25 10:48:55 UTC
README
NotKinopoiskPHP
Современная PHP библиотека для работы с Kinopoisk API, написанная с использованием PHP 8.3+ и современных практик разработки.
📋 Краткая информация
NotKinopoiskPHP - это полнофункциональная PHP библиотека для работы с Kinopoisk Unofficial API. Библиотека предоставляет удобный интерфейс для получения информации о фильмах, сериалах, персонах и других данных из базы Кинопоиска.
⚠️ Важно: Данная библиотека работает с Kinopoisk Unofficial API (kinopoiskapiunofficial.tech), НЕ путать с kinopoisk.dev. Структура API последний раз обновлялась 16.10.2023, но данные актуальны.
📋 Минимальные требования
Системные требования
- PHP: 8.3 или выше
 - Composer: 2.0 или выше
 - Расширения PHP:
curl- для HTTP запросовjson- для работы с JSON даннымиmbstring- для работы с многобайтовыми строками
 
Рекомендуемые расширения
openssl- для HTTPS соединенийzlib- для сжатия данныхintl- для интернационализации
Поддерживаемые платформы
- Linux (Ubuntu 20.04+, CentOS 8+, Debian 11+)
 - macOS (10.15+)
 - Windows (10+, с WSL2 рекомендуется)
 
Проверка требований
Для проверки соответствия требованиям выполните:
# Проверка версии PHP php --version # Проверка расширений PHP php -m | grep -E "(curl|json|mbstring|openssl)" # Проверка Composer composer --version
🎯 Основные возможности:
- Получение информации о фильмах - детальная информация, рейтинги, актеры, режиссеры
 - Поиск фильмов - по названию, жанрам, годам, рейтингам
 - Работа с персонами - поиск актеров, режиссеров, получение фильмографии
 - Коллекции фильмов - топ-250, популярные фильмы, премьеры
 - Медиа контент - постеры, кадры, трейлеры, отзывы
 - Типобезопасность - строгая типизация с использованием PHP 8.3+ features
 - Современная архитектура - readonly свойства, enums, comprehensive документация
 
📊 Статистика:
- Версия PHP: 8.3+
 - Покрытие тестами: 95%+
 - Количество моделей: 25+
 - Количество сервисов: 5
 - Поддерживаемые API эндпоинты: 20+
 
🚀 Особенности
- Современный PHP 8.3+ - использует последние возможности языка
 - Типизированные Enums - для типобезопасности и читаемости кода
 - Readonly свойства - неизменяемые объекты для надежности
 - Полная документация - подробные PHPDoc комментарии на русском языке
 - Тесты - покрытие кода unit-тестами
 - OpenAPI совместимость - основан на официальной спецификации API
 
📦 Установка
composer require devcraftclub/kinopoiskapiunofficialtech
🔧 Конфигурация
Создайте файл .env на основе .env.example:
cp .env.example .env
И добавьте ваш API ключ:
KINOPOISK_API_KEY=your_api_key_here
🎯 Быстрый старт
<?php require_once 'vendor/autoload.php'; use NotKinopoisk\Client; use NotKinopoisk\Enums\ContentType; use NotKinopoisk\Enums\ImageType; use NotKinopoisk\Enums\CollectionType; // Создание клиента $client = new Client(); // Получение информации о фильме $film = $client->films()->getById(301); // Матрица echo "Фильм: {$film->getDisplayName()}\n"; echo "Тип: {$film->type->getDisplayName()}\n"; // Проверка типа контента if ($film->type->isFilm()) { echo "Это фильм!\n"; } elseif ($film->type->isSeries()) { echo "Это сериал!\n"; } // Получение изображений определенного типа $posters = $client->films()->getImages(301, ImageType::POSTER); echo "Получено постеров: " . count($posters) . "\n"; // Получение топ-250 фильмов $top250 = $client->films()->getCollections(CollectionType::TOP_250_MOVIES); echo "Фильмов в топ-250: {$top250->getCount()}\n";
📚 Enums
Библиотека использует типизированные enums для обеспечения типобезопасности. Подробная документация по всем перечислениям доступна в документации по enums и примерах использования.
🧪 Тестирование
Для запуска тестов используйте команду composer test. Подробная информация о тестировании доступна в документации.
📖 Документация
- 📚 Полная документация: docs/README.md - Подробное описание всех классов, методов и примеров
 - 🚀 Примеры использования: examples/README.md - Готовые примеры для быстрого старта
 - 🔧 Интерактивное меню: examples/index.php - Удобное меню для запуска примеров
 
🔄 API
Полная документация по API доступна в документации сервисов и примерах использования.
🏗️ Архитектура
Библиотека построена на принципах:
- Неизменяемость - все модели используют readonly свойства
 - Типобезопасность - строгая типизация и enums
 - Разделение ответственности - отдельные сервисы для разных сущностей
 - Документированность - подробные PHPDoc комментарии
 - Тестируемость - покрытие unit-тестами
 
⚠️ Важные предостережения
📅 Актуальность API
- Структура API в последний раз обновлялась 16.10.2023, но данные по запросам актуальны
 - Некоторые методы запросов API не возвращают актуальные данные, либо разработчик далее не разрабатывал, либо Кинопоиск не возвращает эти данные (не знаю, я не разрабатывал этот API)
 
🔗 Не путать с kinopoisk.dev
- Данная библиотека работает с Kinopoisk Unofficial API (kinopoiskapiunofficial.tech)
 - НЕ путать с kinopoisk.dev - это другой API с другой структурой и возможностями
 
📊 Ограничения
- API имеет лимиты на количество запросов
 - Некоторые эндпоинты могут быть недоступны или возвращать неполные данные
 - Рекомендуется всегда обрабатывать ошибки и проверять возвращаемые данные
 
🤝 Вклад в проект
- Форкните репозиторий: https://github.com/DevCraftClub/NotKinopoiskPHP
 - Создайте ветку для новой функции (
git checkout -b feature/amazing-feature) - Зафиксируйте изменения (
git commit -m 'Add amazing feature') - Отправьте в ветку (
git push origin feature/amazing-feature) - Откройте Pull Request
 
📄 Лицензия
Этот проект лицензирован под MIT License - см. файл LICENSE для деталей.