Documentation
In this page, you will learn how to use tmdb lib and useful tips to extend it.
TMDB
is the main class of the library.
It has two dependencies :
- a API key from The Movie DataBase website
- a
Psr\Log\LoggerInterface
instance to write logs
It is the easiest way to load TMDB
<?php
require 'vendor/autoload.php';
use VfacTmdb\Factory;
$tmdb = Factory::create()->getTmdb('your_api_key');
If your application is built with Slim, you can add TMDB in your dependencies and inject Slim's Monolog instance into it.
Just add this in dependencies.php
$container['tmdb'] = function ($c) {
$api_key = $c->get('settings')['tmdb']['api_key'];
$tmdb = new \vfalies\tmdb\Tmdb($api_key, $c->logger);
}
In this example, API key is declared in settings.php
return [
'settings' = [
'tmdb' = [
'api_key' = 'your_api_key';
]
]
];
Convenient if you need too inject your own dependencies. In the example below, we inject Monolog configured to write logs on standards output.
<?php
require 'vendor/autoload.php';
use VfacTmdb\Tmdb;
use Monolog\Logger;
use Monolog\Handler\StreamHandler;
$logger = new Logger('default', [new StreamHandler('php://stdout')])
$tmdb = Tmdb('your_api_key', $logger);
$search = new Search($tmdb);
$responses = $search->movie('star wars');
The search returns Generator
object of Result\Movie
object.
$item = new Item($tmdb);
$movie = $item->getMovie($movie_id);
echo $movie->getTitle();
The getter returns a Movie
object.
$search = new Search($tmdb);
$responses = $search->tvshow('game of thrones');
The search returns Generator
object of Result\TVShow
object.
$item = new Item($tmdb);
$tvshow = $item->getTVShow($tvshow_id);
echo $tvshow->getTitle();
The getter returns a TVShow
object.
$item = new Item($tmdb);
$tvseason = $item->getTVSeason($tvshow_id, $season_number);
echo $tvseason->getName();
The getter returns a TVSeason
object.
$item = new Item($tmdb);
$tvepisode = $item->getTVEpisode($tvshow_id, $season_number, $episode_number);
echo $tvepisode->getName();
The getter returns a TVEpisode
object.
$search = new Search($tmdb);
$responses = $search->collection('alien');
The search returns Generator
object of Result\Collection
object.
$item = new Item($tmdb);
$collection = $item->getCollection($collection_id);
echo $collection->getName();
The getter returns a Collection
object.
$search = new Search($tmdb);
$responses = $search->people('alec baldwin');
The search returns Generator
object of Result\People
object.
$item = new Item($tmdb);
$people = $item->getPeople($people_id);
echo $people->getName();
The getter returns a People
object.
$search = new Search($tmdb);
$responses = $search->company('lucasfilms');
The search returns Generator
object of Result\Company
object.
$item = new Item($tmdb);
$company = $item->getCompany($company_id);
echo $company->getName();
The getter returns a Company
object.
The connection to your account is in 3 steps:
- Getting a request token
- Connection to TMDb website
- Create a session
$tmdb = Factory::create()->getTmdb('your_api_key');
$Auth = new Auth($tmdb);
echo $Auth->getRequestToken();
$tmdb = Factory::create()->getTmdb('your_api_key');
$Auth = new Auth($tmdb);
$Auth->connect($_POST['request_token']);
This call redirect the page to TMDb website login page for identification and authorisations. By default, after the connection, the user stay on TMDb website. To redirect to your website after the connection, use the following code:
$tmdb = Factory::create()->getTmdb('your_api_key');
$Auth = new Auth($tmdb);
$Auth->connect($_POST['request_token'], 'http://your_url');
To use all account methods, we must use a valid session.
$tmdb = Factory::create()->getTmdb('62dfe9839b8937e595e325a4144702ad');
$Auth = new Auth($tmdb);
echo $Auth->createSession($_POST['request_token']);
All media informations delivered by the library are relative pathfile.
To get a valid media URL, use the Media
class to generate the URL and check the media size
$media = new Media($tmdb);
$url = $media->getPosterUrl('/AbJBXaVPrdXROwb8KmgWUPU2XJX.jpg');
The following type of media are supported :
- Backdrop
- Poster
- Logo
- Profile
- Still