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

1.1.0 2025-10-10 13:11 UTC

This package is auto-updated.

Last update: 2025-10-10 19:26:56 UTC


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);

PHP Composer