FilmService - Сервис для работы с фильмами¶
Сервис для работы с фильмами в Kinopoisk API.
📚 Навигация: Главная → Сервисы → FilmService
🔗 Связанные классы:
- Client - Основной клиент
- Film - Модель фильма
- Staff - Модель съемочной группы
- Review - Модель отзыва
- Fact - Модель факта
- Image - Модель изображения
- Video - Модель видео
- Award - Модель награды
- BoxOffice - Модель кассовых сборов
- Episode - Модель эпизода
- Season - Модель сезона
- RelatedFilm - Модель связанного фильма
- FilmSearchResult - Модель результата поиска
- KeywordSearchResponse - Ответ поиска
- ImageType - Типы изображений
- ReviewOrder - Порядок сортировки отзывов
- ReviewType - Типы отзывов
- FactType - Типы фактов
- VideoSite - Сайты видео
- BoxOfficeType - Типы кассовых сборов
- ContentType - Типы контента
- FilmOrder - Порядок сортировки фильмов
- Month - Месяцы
- ApiException - Базовое исключение API
- ResourceNotFoundException - Ресурс не найден
- RateLimitException - Превышение лимита
Описание¶
Предоставляет полный набор методов для взаимодействия с фильмами через Kinopoisk API. Реализует CRUD операции: Create (поиск), Read (получение данных), Update (не поддерживается), Delete (не поддерживается).
Основные возможности¶
- Получение детальной информации о фильмах
- Поиск фильмов по ключевым словам и фильтрам
- Получение связанного контента (сезоны, факты, награды, отзывы)
- Работа с коллекциями фильмов (популярные, топ-250)
- Получение премьер и фильтров для поиска
Конструктор¶
__construct(Client $client)¶
Инициализирует новый экземпляр сервиса с переданным HTTP-клиентом и устанавливает версию API v2.2 для работы с Kinopoisk Unofficial API.
Параметры:
$client(Client) - HTTP-клиент для выполнения запросов к API
Пример:
Методы¶
getById(int $id): Film¶
Получает детальную информацию о фильме по его ID.
Параметры:
$id(int) - ID фильма в базе Kinopoisk
Возвращает:
Film- Объект с информацией о фильме
Пример:
getSeasons(int $id): DefaultResponse¶
Получает информацию о сезонах сериала.
Параметры:
$id(int) - ID сериала
Возвращает:
DefaultResponse- Ответ с сезонами сериала
getFacts(int $id): DefaultResponse¶
Получает факты и ошибки о фильме.
Параметры:
$id(int) - ID фильма
Возвращает:
DefaultResponse- Ответ с фактами о фильме
getDistributions(int $id): DefaultResponse¶
Получает информацию о прокате фильма.
Параметры:
$id(int) - ID фильма
Возвращает:
DefaultResponse- Ответ с информацией о прокате
getBoxOffice(int $id): BudgetResponse¶
Получает информацию о кассовых сборах фильма.
Параметры:
$id(int) - ID фильма
Возвращает:
BudgetResponse- Ответ с информацией о кассовых сборах
getAwards(int $id): DefaultResponse¶
Получает информацию о наградах фильма.
Параметры:
$id(int) - ID фильма
Возвращает:
DefaultResponse- Ответ с информацией о наградах
getVideos(int $id): DefaultResponse¶
Получает видео контент фильма (трейлеры, клипы).
Параметры:
$id(int) - ID фильма
Возвращает:
DefaultResponse- Ответ с видео контентом
getSimilar(int $id): DefaultResponse¶
Получает похожие фильмы.
Параметры:
$id(int) - ID фильма
Возвращает:
DefaultResponse- Ответ с похожими фильмами
getImages(int $id, ImageType $type = ImageType::STILL, int $page = 1): PaginatedResponse¶
Получает изображения фильма определенного типа.
Параметры:
$id(int) - ID фильма$type(ImageType) - Тип изображений (по умолчанию STILL)$page(int) - Номер страницы (по умолчанию 1)
Возвращает:
PaginatedResponse- Пагинированный ответ с изображениями
Пример:
| PHP | |
|---|---|
getReviews(int $id, int $page = 1, ReviewOrder $order = ReviewOrder::DATE_DESC): ReviewResponse¶
Получает отзывы о фильме.
Параметры:
$id(int) - ID фильма$page(int) - Номер страницы (по умолчанию 1)$order(ReviewOrder) - Порядок сортировки (по умолчанию DATE_DESC)
Возвращает:
ReviewResponse- Ответ с отзывами
getExternalSources(int $id, int $page = 1): PaginatedResponse¶
Получает внешние источники фильма.
Параметры:
$id(int) - ID фильма$page(int) - Номер страницы (по умолчанию 1)
Возвращает:
PaginatedResponse- Пагинированный ответ с внешними источниками
getSequelsAndPrequels(int $id): SequelPrequelResponse¶
Получает сиквелы и приквелы фильма.
Параметры:
$id(int) - ID фильма
Возвращает:
SequelPrequelResponse- Ответ с сиквелами и приквелами
searchByKeyword(string $keyword, int $page = 1): KeywordSearchResponse¶
Поиск фильмов по ключевому слову.
Параметры:
$keyword(string) - Ключевое слово для поиска$page(int) - Номер страницы (по умолчанию 1)
Возвращает:
KeywordSearchResponse- Ответ с результатами поиска
Пример:
| PHP | |
|---|---|
getPremieres(int $year, Month $month): DefaultResponse¶
Получает премьеры фильмов в указанном месяце и году.
Параметры:
$year(int) - Год$month(Month) - Месяц
Возвращает:
DefaultResponse- Ответ с премьерами
getFilters(): Filters¶
Получает доступные фильтры для поиска.
Возвращает:
Filters- Объект с доступными фильтрами
getPopular(int $page = 1): PaginatedResponse¶
Получает популярные фильмы.
Параметры:
$page(int) - Номер страницы (по умолчанию 1)
Возвращает:
PaginatedResponse- Пагинированный ответ с популярными фильмами
getCollections(CollectionType $type = CollectionType::TOP_POPULAR_ALL, int $page = 1): PaginatedResponse¶
Получает коллекции фильмов.
Параметры:
$type(CollectionType) - Тип коллекции (по умолчанию TOP_POPULAR_ALL)$page(int) - Номер страницы (по умолчанию 1)
Возвращает:
PaginatedResponse- Пагинированный ответ с коллекцией фильмов
getTop250(int $page = 1): PaginatedResponse¶
Получает топ-250 фильмов.
Параметры:
$page(int) - Номер страницы (по умолчанию 1)
Возвращает:
PaginatedResponse- Пагинированный ответ с топ-250 фильмами
searchFilmsByFilter(...): PaginatedResponse¶
Поиск фильмов с использованием фильтров.
Параметры:
$country(array|null) - Массив стран$genre(array|null) - Массив жанров$order(FilmOrder) - Порядок сортировки (по умолчанию RATING)$type(ContentType) - Тип контента (по умолчанию ALL)$ratingFrom(float) - Минимальный рейтинг (по умолчанию 0)$ratingTo(float) - Максимальный рейтинг (по умолчанию 10)$yearFrom(int) - Минимальный год (по умолчанию 1000)$yearTo(int) - Максимальный год (по умолчанию 3000)$imdbId(string|null) - IMDB ID$keyword(string|null) - Ключевое слово$page(int) - Номер страницы (по умолчанию 1)
Возвращает:
PaginatedResponse- Пагинированный ответ с результатами поиска
Пример:
| PHP | |
|---|---|
Примеры использования¶
Базовое использование¶
Работа с изображениями¶
| PHP | |
|---|---|
Работа с коллекциями¶
| PHP | |
|---|---|
Связанные классы¶
\NotKinopoisk\Models\Film- Модель фильма\NotKinopoisk\Models\FilmCollection- Коллекция фильмов\NotKinopoisk\Responses\PaginatedResponse- Пагинированный ответ\NotKinopoisk\Responses\KeywordSearchResponse- Ответ поиска по ключевым словам\NotKinopoisk\Enums\ImageType- Типы изображений\NotKinopoisk\Enums\CollectionType- Типы коллекций\NotKinopoisk\Enums\FilmOrder- Порядок сортировки фильмов
Информация о пакете¶
- Пакет: NotKinopoisk\Services
- Версия: 1.0.0
- Автор: Maxim Harder dev@devcraft.club
- API версия: v2.2