bluesik/tv-maze-api

用于与 TVMaze API 交互的库

dev-master 2018-09-14 14:17 UTC

This package is not auto-updated.

Last update: 2024-09-29 06:20:11 UTC


README

描述

一个易于使用的 TVMaze API PHP 包装器。所有端点都受支持。(截至 2018 年 8 月 1 日)

所有 TVMaze 资源都已转换为对象,因此您可以以 OOP 方式与之交互。

为了方便,所有日期都已转换为 Carbon 对象。

安装

composer require bluesik/tv-maze-api

用法

<?php

require "vendor/autoload.php";

use TVMaze\API\Client as TVMaze;

// New it up
$tv = new TVMaze();
// Example usage
$data = $tv->shows->getById(123);

所有嵌入式资源都将提取并转换为相应的类(如果可能)

示例

$show = $tv->shows->searchOne('Daredevil', ['episodes']);
var_dump($show->episodes); // Gives you an array of \TVMaze\Data\Episode objects

可用方法

电视剧

搜索包含指定名称的电视剧

$tv->shows->searchMany('CSI');

参数

  • String $name
    • 要搜索的名称

返回 \TVMaze\Data\Show 对象数组或 null

按名称搜索电视剧

$tv->shows->searchOne('Daredevil', ['episodes']); 

参数

  • String $name
    • 搜索的名称
  • Array $embed
    • 要嵌入的资源数组
    • 默认值:空数组

返回 \TVMaze\Data\Show 对象或 null

按 ID 获取电视剧

$tv->shows->getById(82, ['episodes']);

参数

  • Integer $id
    • 电视剧 ID
  • Array $embed
    • 要嵌入的资源数组
    • 默认值:空数组

返回 \TVMaze\Data\Show 对象或 null

按 TVRage ID 获取电视剧

$tv->shows->getByTVRage(38796);

参数

  • Integer $id
    • TVRage ID

返回 \TVMaze\Data\Show 对象或 null

按 THETVDB ID 获取电视剧

$tv->shows->getByTVDB(281662);

参数

  • Integer $id
    • TVDB ID

返回 \TVMaze\Data\Show 对象或 null

按 IMDB ID 获取电视剧

$tv->shows->getByIMDB("tt4122068");

参数

  • Integer $id
    • IMDB ID

返回 \TVMaze\Data\Show 对象或 null

从给定电视剧 ID 获取剧集

$tv->shows->getEpisodes(123, $withSpecials = false);

参数

  • Integer $id
    • 电视剧 ID
  • Boolean $withSpecials
    • 是否包含特集剧集
    • 默认值:false

返回 \TVMaze\Data\Episode 对象数组或 null

获取给定电视剧的季列表

$tv->shows->getSeasons(170);

参数

  • Integer $id
    • 电视剧 ID

返回 \TVMaze\Data\Season 对象数组或 null

获取给定 ID 电视剧的演员阵容

$tv->shows->getCast(170);

参数

  • Integer $id
    • 电视剧 ID

返回 \TVMaze\Data\Cast 对象数组或 null

获取给定 ID 电视剧的剧组人员

$tv->shows->getCrew(170);

参数

  • Integer $id
    • 电视剧 ID

返回 \TVMaze\Data\Crew 对象数组或 null

获取给定 ID 电视剧的别名列表

$tv->shows->getAKA(170);

参数

  • Integer $id
    • 电视剧 ID

返回 \TVMaze\Data\AKA 对象数组或 null

获取所有电视剧

$tv->shows->getAll($page = 2);

参数

  • Integer $page
    • 要获取的页码
    • 默认值:0

返回 \TVMaze\Data\Show 对象数组或 null

获取包含每个电视剧最后更新时间的列表

$tv->shows->getUpdates();

返回数组或 null

剧集

获取在给定国家给定日期播出的所有剧集列表

$tv->episodes->getSchedule("US", "2018-01-01");

参数

  • String $country
    • 国家的 ISO 3166-1 代码
    • 默认值:US
  • String $date
    • ISO 8601 格式的日期
    • 默认值:<当前日期>

返回 \TVMaze\Data\Episode 对象数组或 null

获取未来将播出的所有剧集列表

$tv->episodes->getFullSchedule();

返回 \TVMaze\Data\Episode 对象数组或 null

按季和剧集编号从电视剧获取剧集

$tv->episodes->getById($show = 82, $season = 2, $episode = 2);

参数

  • Integer $show
    • 电视剧 ID
  • Integer $season
    • 季数
    • 默认值:1
  • Integer $episode
    • 剧集编号
    • 默认值:1

返回 \TVMaze\Data\Episode 对象或 null

按给定日期从电视剧获取剧集

$tv->episodes->getByDate($show = 335, $date = "2017-01-01");
  • Integer $show
    • 电视剧 ID
  • String $date
    • ISO 8601 格式的日期
    • 默认值:<当前日期>

返回 \TVMaze\Data\Episode 对象数组或 null

获取给定 ID 季的剧集列表

$tv->episodes->getFromSeason(772);
  • Integer $season
    • 季 ID

返回 \TVMaze\Data\Episode 对象数组或 null

#人物

按名称搜索人物

$tv->people->searchMany('Gordon');
  • String $name
    • 要查找的名称

返回 \TVMaze\Data\Person 对象数组或 null

按 ID 获取人物

$tv->people->getById(40682, ['castcredits']);
  • Integer $person
    • 人物 ID
  • Array $embed
    • 要嵌入的资源数组
    • 默认值:空数组

返回 \TVMaze\Data\Person 对象或 null

获取给定 ID 人物的演员信用

$tv->people->getCastCredits(40682, ['show']);
  • Integer $person
    • 人物 ID
  • Array $embed
    • 要嵌入的资源数组
    • 默认值:空数组

返回 \TVMaze\Data\CastCredit 对象数组或 null

获取给定 ID 人物的剧组信用

$tv->people->getCrewCredits(40682, ['show']);
  • Integer $person
    • 人物 ID
  • Array $embed
    • 要嵌入的资源数组
    • 默认值:空数组

返回 \TVMaze\Data\CrewCredit 对象数组或 null

许可证

MIT