devcraftclub/kinopoisk-dev-php
Composer 安装命令:
composer require devcraftclub/kinopoisk-dev-php
包简介
PHP клиент для API Kinopoisk.dev
README 文档
README
Полнофункциональный PHP 8.3 клиент для работы с неофициальным API KinoPoisk.dev. Библиотека предоставляет удобный объектно-ориентированный интерфейс для доступа ко всем возможностям API с полной поддержкой типов, кэширования и детальной документацией на русском языке.
🎯 Возможности
- ✅ Полное покрытие API v1.4 - поддержка всех доступных эндпоинтов
- ✅ PHP 8.3+ - использование современных возможностей языка
- ✅ Типизация - полная поддержка типов для IDE и статического анализа
- ✅ Кэширование - встроенная поддержка кэширования запросов
- ✅ Удобные фильтры - мощная система фильтрации с fluent interface
- ✅ Документация на русском - подробная документация и примеры
- ✅ Обработка ошибок - продуманная система исключений
- ✅ PSR-совместимость - следование стандартам PHP
📦 Установка
Через Composer
composer require devcraftclub/kinopoisk-dev-php
Требования
- PHP >= 8.3
- Guzzle HTTP >= 7.0
- Токен API от kinopoisk.dev
🚀 Быстрый старт
Получение токена
Для работы с API необходимо получить токен через Telegram бота:
- Напишите боту @kinopoiskdev_bot в Telegram
- Следуйте инструкциям бота для получения токена
Базовое использование
<?php require_once 'vendor/autoload.php'; use KinopoiskDev\Http\MovieRequests; use KinopoiskDev\Filter\MovieSearchFilter; use KinopoiskDev\Exceptions\KinopoiskDevException; // Инициализация клиента $apiToken = 'ваш_токен_здесь'; $movieClient = new MovieRequests($apiToken); try { // Получение фильма по ID $movie = $movieClient->getMovieById(666); echo "Фильм: {$movie->name} ({$movie->year})\n"; echo "Рейтинг КП: {$movie->rating->kp}\n"; // Поиск фильмов с фильтрами $filter = new MovieSearchFilter(); $filter->withRatingBetween(8.0, 10.0) ->withYearBetween(2020, 2024) ->withIncludedGenres(['драма', 'триллер']) ->onlyMovies(); $results = $movieClient->searchMovies($filter, 1, 10); echo "Найдено: {$results->total} фильмов\n"; } catch (KinopoiskDevException $e) { echo "Ошибка API: " . $e->getMessage() . "\n"; }
📚 Документация
Автоматическая генерация документации
Проект включает в себя автоматический генератор документации, который создает полную документацию на основе PHPDoc комментариев.
Генерация документации
# Способ 1: Прямой вызов php bin/generate_docs.php # Способ 2: Через composer composer docs
Документация будет создана в папке docs/ и включает:
- Классы - полная документация всех классов с методами и свойствами
- Интерфейсы - документация интерфейсов и их методов
- Enum'ы - документация enum'ов со всеми cases и их значениями
- Trait'ы - документация trait'ов и их методов
- PHPDoc теги - поддержка всех стандартных PHPDoc тегов:
@param,@return,@throws@example,@see,@since{@inheritDoc}- наследование документации из родительских классов/интерфейсов- Сложные типы:
array<string, mixed>,int|null, etc.
Структура документации
docs/
├── README.md # Главная страница с навигацией
├── Kinopoisk.md # Основной класс Kinopoisk
├── Models/ # Модели данных
│ ├── Movie.md
│ ├── Person.md
│ └── ...
├── Http/ # HTTP клиенты
│ ├── MovieRequests.md
│ ├── PersonRequests.md
│ └── ...
├── Enums/ # Enum'ы
│ ├── MovieType.md
│ ├── PersonProfession.md
│ └── ...
├── Contracts/ # Интерфейсы
│ ├── CacheInterface.md
│ └── LoggerInterface.md
└── Utils/ # Утилиты и trait'ы
├── FilterTrait.md
├── SortManager.md
└── ...
Особенности генератора
- Автоматическое наследование -
{@inheritDoc}наследует документацию из родительских классов/интерфейсов - Поддержка всех типов PHP - классы, интерфейсы, enum'ы, trait'ы
- Сложные типы - правильное отображение
array<string, mixed>, union типов - Многострочные описания - сохранение форматирования в PHPDoc
- Примеры кода - поддержка
@exampleтегов с подсветкой синтаксиса
🤝 Вклад в проект
Мы приветствуем ваш вклад в развитие проекта! Пожалуйста:
- Форкните репозиторий
- Создайте ветку для новой функции (
git checkout -b feature/amazing-feature) - Зафиксируйте изменения (
git commit -m 'Add amazing feature') - Отправьте в ветку (
git push origin feature/amazing-feature) - Откройте Pull Request
Требования к коду
- Следуйте PSR-12 стандарту
- Добавляйте PHPDoc комментарии на русском языке
- Покрывайте код тестами
- Обновляйте документацию
🔄 Автоматические обновления
Проект использует Dependabot для автоматического обновления зависимостей:
- Composer зависимости - обновляются еженедельно по понедельникам
- GitHub Actions - обновляются еженедельно по понедельникам
- Автоматическое слияние - patch и minor обновления сливаются автоматически
- Major обновления - требуют ручного ревью для критических зависимостей
Dependabot создает Pull Request'ы с обновлениями зависимостей, которые:
- Автоматически проходят тесты
- Генерируют обновленную документацию
- Помечаются соответствующими лейблами
- Назначаются на команду разработки для ревью
📄 Лицензия
Этот проект лицензирован под лицензией MIT - см. файл LICENSE для деталей.
🔗 Полезные ссылки
- Официальная документация API
- Сайт Kinopoisk.dev
- Telegram бот для получения токена
- GitHub репозиторий
📞 Поддержка
Если у вас есть вопросы или проблемы:
- Проверьте существующие issues
- Создайте новый issue с детальным описанием
- Напишите в Telegram чат
devcraftclub/kinopoisk-dev-php 适用场景与选型建议
devcraftclub/kinopoisk-dev-php 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 0 次下载、GitHub Stars 达 0, 最近一次更新时间为 2025 年 08 月 04 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「database」 「api」 「client」 「movies」 「cinema」 「films」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 devcraftclub/kinopoisk-dev-php 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 devcraftclub/kinopoisk-dev-php 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 devcraftclub/kinopoisk-dev-php 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Dibi is Database Abstraction Library for PHP
Store your language lines in the database, yaml or other sources
A package for automatically encrypting and decrypting Eloquent attributes in Laravel 5.5+, based on configuration settings.
A PSR-7 compatible library for making CRUD API endpoints
Mock PSR-18 HTTP client
Asynchronous MQTT client built on React
统计信息
- 总下载量: 0
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 29
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2025-08-04