PHP code example of bjthecod3r / laravel-tmdb

1. Go to this page and download the library: Download bjthecod3r/laravel-tmdb library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

bjthecod3r / laravel-tmdb example snippets


use BjTheCod3r\Tmdb\Facades\Tmdb;

$movie = Tmdb::movies()->details(27205);

$movie->title;          // "Inception"
$movie->year();         // 2010
$movie->genres->pluck('name'); // Illuminate\Support\Collection

Tmdb::image()->url($movie->posterPath, 'w500');

Tmdb::movies()->details(27205);
Tmdb::movies()->details(27205, ['append_to_response' => ['credits', 'videos']]);
Tmdb::movies()->credits(27205);          // Credits (cast + crew)
Tmdb::movies()->images(27205);           // Collection<Image>
Tmdb::movies()->videos(27205);           // Collection<Video>
Tmdb::movies()->reviews(27205);          // Paginated<Review>
Tmdb::movies()->recommendations(27205);  // Paginated<Movie>
Tmdb::movies()->similar(27205);          // Paginated<Movie>
Tmdb::movies()->watchProviders(27205);
Tmdb::movies()->popular();
Tmdb::movies()->topRated();
Tmdb::movies()->nowPlaying();
Tmdb::movies()->upcoming();

Tmdb::tv()->details(1396);
Tmdb::tv()->season(1396, 1);             // Season (with episodes)
Tmdb::tv()->episode(1396, 1, 1);         // Episode
Tmdb::tv()->credits(1396);
Tmdb::tv()->popular();
Tmdb::tv()->topRated();
Tmdb::tv()->onTheAir();
Tmdb::tv()->airingToday();

Tmdb::people()->details(6193);
Tmdb::people()->movieCredits(6193);
Tmdb::people()->tvCredits(6193);
Tmdb::people()->images(6193);            // Collection<Image>
Tmdb::people()->popular();

Tmdb::search()->movies('inception', ['year' => 2010]); // Paginated<Movie>
Tmdb::search()->tv('breaking bad');                    // Paginated<TvShow>
Tmdb::search()->people('nolan');                       // Paginated<Person>
Tmdb::search()->companies('warner');                   // Paginated<ProductionCompany>
Tmdb::search()->collections('matrix');                 // Paginated<MovieCollection>
Tmdb::search()->keywords('superhero');                 // Paginated<Keyword>

// Multi-search returns mixed media; asResource() promotes each result
// to its concrete type (Movie | TvShow | Person):
Tmdb::search()->multi('matrix')->results->map->asResource();

Tmdb::discover()->movies()
    ->withGenres([28, 12])          // Action, Adventure
    ->year(2023)
    ->withMinimumVoteAverage(7.5)
    ->sortBy('popularity.desc')
    ->page(1)
    ->get();                        // Paginated<Movie>

// Any TMDB discover filter is available via where():
Tmdb::discover()->tv()->where('with_networks', 213)->get();

Tmdb::trending()->movies('week');  // Paginated<Movie>
Tmdb::trending()->tv('day');       // Paginated<TvShow>
Tmdb::trending()->people('week');  // Paginated<Person>
Tmdb::trending()->all('day');      // Paginated<MediaResult>

Tmdb::genres()->movies();          // Collection<Genre>
Tmdb::genres()->tv();              // Collection<Genre>

Tmdb::configuration()->details();  // image base URLs & sizes
Tmdb::configuration()->countries();
Tmdb::configuration()->languages();

$movie = Tmdb::movies()->details(27205);

$movie->title;           // string
$movie->releaseDate;     // CarbonImmutable
$movie->voteAverage;     // float
$movie->genres;          // Collection<Genre>

$movie->get('belongs_to_collection.name');
$movie['original_title'];
return $movie; // a controller can return it directly as JSON

$page = Tmdb::movies()->popular(['page' => 1]);

$page->results;        // Collection<Movie>
$page->page;           // 1
$page->totalPages;     // 500
$page->totalResults;   // 10000
$page->hasMorePages(); // true
$page->nextPage();     // 2

$page->results->each(function (Movie $movie) {
    // ...
});

Tmdb::image()->url($movie->posterPath, 'w500');
Tmdb::image()->original($movie->backdropPath);

use BjTheCod3r\Tmdb\Exceptions\ResourceNotFoundException;

try {
    Tmdb::movies()->details(999999999);
} catch (ResourceNotFoundException $e) {
    // ...
}

use BjTheCod3r\Tmdb\Tmdb;

public function __construct(private Tmdb $tmdb) {}

Tmdb::client()->get('movie/27205/keywords');

use Illuminate\Support\Facades\Http;

Http::fake([
    'api.themoviedb.org/3/movie/*' => Http::response(['id' => 27205, 'title' => 'Inception']),
]);
bash
php artisan vendor:publish --tag=tmdb-config