A simple yet full-fledged iTunes API client with caching capabilities.
"vinelab/itunes": "dev-master"
or refer to vinelab/itunes on packagist.org
// change this to point correctly according
// to your folder structure.
require './vendor/autoload.php';
use Vinelab\ITunes\Agent as iTunes;
$iTunes = new iTunes();
$response = $iTunes->search('Porcupine Tree')); // The original iTunes response
$json = json_encode($response);
- Edit app.php and add
'Vinelab\ITunes\ITunesServiceProvider'
to the'providers'
array. It will automatically alias itself asITunes
which can be used as a Facade class. - Run
php artisan vendor:publish
to publish the config file.
This library supports Laravel 4 and Laravel 5.x, for installation in L4 use version 1.1.x.
<?php
// Search the iTunes Store
ITunes::search('Metallica');
// Search the iTunes Store with custom parameters
ITunes::search('Cannibal Corpse', array('limit'=>25, 'entity'=>'...'));
/**
* Search for media
*
* check (http://www.apple.com/itunes/affiliates/resources/documentation/itunes-store-web-service-search-api.html#searching)
* for all supported media types (the media parameter)
*/
ITunes::music('Rolling Stones');
ITunes::musicVideo('Immolation');
ITunes::tvShow('Sex and The City');
You can search in a specific region by siply suffixing any media search method name with InRegion
ITunes::musicInRegion('LB', 'Myriam Fares');
ITunes::musicVideoInRegion('US', 'Immolation');
<?php
// Lookup defaults to id=...
ITunes::lookup(490326927);
// You can also specify the lookup request
ITunes::lookup('amgVideoId', 17120);
// Multiple items lookup
ITunes::lookup('amgAlbumId', '15175,15176,15177,15178,15183,15184,15187,1519,15191,15195,15197,15198');
you can specify the duration (in minutes) of caching per request as follows
NOTE: The last cache duration value set will remain for the rest of the requests so make sure you reset afterwards.
<?php
ITunes::cacheFor(10);
ITunes::search('Gangnam Style'); // will be cached for 10 min.
ITunes::cacheFor(1);
ITunes::search('Yesterday'); // will be cached for 1 min.
// To bypass caching pass 0
ITunes::cacheFor(0);
ITunes::search('Hallelujah'); // won't be cached