Skip to content

CakePHP plugin for TMDB (The Movie Database) API. Provides easy access to the wtfzdotnet/php-tmdb-api library.

License

Notifications You must be signed in to change notification settings

drmonkeyninja/cakephp-tmdb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CakePHP TMDB

License Build Status

This CakePHP 3 plugin provides integration with the TMDB API for retrieving data on movies and television from themoviedb.org. It makes use of an established TMDB API wrapper and the Webservice plugin for CakePHP.

Requirements

  • CakePHP 3.x
  • A valid TMDB API key

Installation

Install using composer: composer require drmonkeyninja/cakephp-tmdb:3.0.*

Then add the following lines to bootstrap.php to load the plugin:

Plugin::load('Muffin/Webservice');
Plugin::load('CakeTmdb');

Configuration

You will need to configure a new webservice in config/app.php using your TMDB API key:

'Webservices' => [
    'Tmdb' => [
        'className' => 'Muffin\Webservice\Connection',
        'service' => 'CakeTmdb\Lib\Tmdb\Driver\Tmdb',
        'api_key' => 'your_tmdb_api_key'
    ]
]

Then in bootstrap.php instruct the ConnectionManager to consume the webservice:

ConnectionManager::setConfig(Configure::consume('Webservices'));

Usage

This plugin uses the TMDB API library so you have full access to all of the methods provided there.

For example, to search the database for movies with the title 'Toy Story':

$tmdb = \Cake\Datasource\ConnectionManager::get('Tmdb');
$data = $tmdb->getSearchApi()->searchMovies('Toy Story');

TmdbHelper

A handy little helper comes with the plugin for rendering TMDB images using the paths returned by the API. To use include the Tmdb helper in your controller as normal:-

public $helpers = ['CakeTmdb.Tmdb'];

Then in your view:-

<?= $this->Tmdb->image($movie->poster, 'w154'); ?>

The first parameter needs to be the image path (provided by TMDB); the second parameter is the TMDB size. You can also pass an optional array of image attributes as the third parameter:-

<?= $this->Tmdb->image($movie->poster, 'w154', ['alt' => $movie->title]); ?>

About

CakePHP plugin for TMDB (The Movie Database) API. Provides easy access to the wtfzdotnet/php-tmdb-api library.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages