aportela / lastfm-wrapper
Custom last.fm api wrapper
Installs: 18
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
pkg:composer/aportela/lastfm-wrapper
Requires
- php: >=8.4
- aportela/httprequest-wrapper: ^2.1
- psr/log: ^3.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.88
- phpstan/phpstan: ^2.1
- phpunit/phpunit: ^10.5
README
Custom last.fm api wrapper
Requirements
- mininum php version 8.4
- curl extension must be enabled (aportela/httprequest-wrapper)
- a valid last.fm api key
Install (composer) dependencies:
composer require aportela/lastfm-wrapper
Code example:
Artist
<?php require "vendor/autoload.php"; $logger = new \Psr\Log\NullLogger(); $lastFMAPIKey = "YOUR_SECRET_API_KEY"; // JSON format (for api endpoints & raw responses) $lastFMArtist = new \aportela\LastFMWrapper\Artist($logger, \aportela\LastFMWrapper\APIFormat::JSON, $lastFMAPIKey); // get artist object from LastFM API $lastFMArtist->get("Roxette"); // search artists (limited to 2 matches) on LastFM API $matchedArtists = $lastFMArtist->search("Roxette", 5); // XML format (for api endpoints & raw responses) $lastFMArtist = new \aportela\LastFMWrapper\Artist($logger, \aportela\LastFMWrapper\APIFormat::XML, $lastFMAPIKey); // get artist object from LastFM API $lastFMArtist->get("Roxette"); // search artists (limited to 2 matches) on LastFM API $artists = $lastFMArtist->search("Roxette", 5);
Album
<?php require "vendor/autoload.php"; $logger = new \Psr\Log\NullLogger(); $lastFMAPIKey = "YOUR_SECRET_API_KEY"; // JSON format (for api endpoints & raw responses) $lastFMAlbum = new \aportela\LastFMWrapper\Album($logger, \aportela\LastFMWrapper\APIFormat::JSON, $lastFMAPIKey); // get album object from LastFM API $lastFMAlbum->get("Roxette", "Tourism"); // search albums (limited to 5 matches) on LastFM API $albums = $lastFMAlbum->search("Roxette", "Tourism", 5); // XML format (for api endpoints & raw responses) $lastFMAlbum = new \aportela\LastFMWrapper\Album($logger, \aportela\LastFMWrapper\APIFormat::XML, $lastFMAPIKey); // get album object from LastFM API $lastFMAlbum->get("Roxette", "Tourism"); // search albums (limited to 5 matches) on LastFM API $albums = $lastFMAlbum->search("Roxette", "Tourism", 5);
Track
<?php require "vendor/autoload.php"; $logger = new \Psr\Log\NullLogger(); $lastFMAPIKey = "YOUR_SECRET_API_KEY"; // JSON format (for api endpoints & raw responses) $lastFMTrack = new \aportela\LastFMWrapper\Track($logger, \aportela\LastFMWrapper\APIFormat::JSON, $lastFMAPIKey); // get track object from LastFM API $lastFMTrack->get("Roxette", "Silver Blue"); // search tracks (limited to 5 matches) on LastFM API $tracks = $lastFMTrack->search("Roxette", "Silver Blue", 5); // XML format (for api endpoints & raw responses) $lastFMTrack = new \aportela\LastFMWrapper\Track($logger, \aportela\LastFMWrapper\APIFormat::XML, $lastFMAPIKey); // get track object from LastFM API $lastFMTrack->get("Roxette", "Silver Blue"); // search tracks (limited to 5 matches) on LastFM API $tracks = $lastFMTrack->search("Roxette", "Silver Blue", 5);