我正在使用它:https://mirror.oparl.org/body/5a3d010888dbe04745b24e0a/meeting - TMDb API的PHP包装器。它似乎非常好,并且有大量的示例可供使用。但我完全陷入困境。
我需要在API上运行搜索并解析结果。简单吧?但我找不到任何方法或手段来处理返回的搜索对象。
API包装器提供了两种使用API的方法,首选方法是使用Model API。
这是我到目前为止所得到的(基于提供的示例):
$token = new \Tmdb\ApiToken(TMDB_API_KEY);
$client = new \Tmdb\Client($token);
$search = new \Tmdb\Repository\SearchRepository($client);
$query = new \Tmdb\Model\Search\SearchQuery\TvSearchQuery();
$query->page($page);
print_r($search->searchTv('breaking bad', $query));
这很好,我得到了一个结果。但是,结果是一个对象,并且它的所有属性都是受保护的或私有的。所以我不知道如何访问结果并使用它。以下是结果示例:
Tmdb\Model\Collection\ResultCollection Object
(
[page:Tmdb\Model\Collection\ResultCollection:private] => 1
[totalPages:Tmdb\Model\Collection\ResultCollection:private] => 1
[totalResults:Tmdb\Model\Collection\ResultCollection:private] => 1
[data:protected] => Array
(
[0000000078e3674f0000000033ed0f6b] => Tmdb\Model\Tv Object
(
[backdropPath:Tmdb\Model\Tv:private] => /bzoZjhbpriBT2N5kwgK0weUfVOX.jpg
[createdBy:Tmdb\Model\Tv:private] =>
[contentRatings:Tmdb\Model\Tv:private] => Tmdb\Model\Common\GenericCollection Object
(
[data:protected] => Array
(
)
)
[episodeRunTime:Tmdb\Model\Tv:private] =>
[firstAirDate:Tmdb\Model\Tv:private] => DateTime Object
(
[date] => 2008-01-19 00:00:00.000000
[timezone_type] => 3
[timezone] => UTC
)
[genres:Tmdb\Model\Tv:private] => Tmdb\Model\Collection\Genres Object
(
[data:protected] => Array
(
[0] => Tmdb\Model\Genre Object
(
[id:Tmdb\Model\Genre:private] => 18
[name:Tmdb\Model\Genre:private] =>
)
)
)
[homepage:Tmdb\Model\Tv:private] =>
[id:Tmdb\Model\Tv:private] => 1396
[inProduction:Tmdb\Model\Tv:private] =>
[languages:Tmdb\Model\Tv:private] =>
[lastAirDate:Tmdb\Model\Tv:private] =>
[name:Tmdb\Model\Tv:private] => Breaking Bad
我在文档中看不到任何内容,现在几个小时都无法快速获取。
我在这里缺少什么?
答案 0 :(得分:1)
您可能忘记了正在处理项目集合,而不是从查询中返回单个结果。
那就是说,以下编辑的例子应该引导你完成其余的事情:)
$token = new \Tmdb\ApiToken(TMDB_API_KEY);
$client = new \Tmdb\Client($token);
$token = new \Tmdb\ApiToken(TMDB_API_KEY);
$client = new \Tmdb\Client($token);
$search = new \Tmdb\Repository\SearchRepository($client);
$query = new \Tmdb\Model\Search\SearchQuery\TvSearchQuery();
$query->page(1);
foreach($search->searchTv('breaking bad', $query) as $tvShow)
{
var_dump($tvShow->getId());
}