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