2017 © Pedro Peláez
 

library lastfm-php-sdk

LastFM SDK for PHP

image

sourceout/lastfm-php-sdk

LastFM SDK for PHP

  • Monday, July 2, 2018
  • by pulkitswarup
  • Repository
  • 2 Watchers
  • 0 Stars
  • 0 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 3 Versions
  • 0 % Grown

The README.md

Last.fm SDK for PHP

Latest Version Software License Build Status Code Coverage Scrutinizer Code Quality, (*1)

This repository contains library the allows you to access Last.fm platform from your PHP application., (*2)

For details into how authenticate and obtain API Keys read Getting Started under API Introduction, (*3)

Read the official API Documents at https://www.last.fm/api/intro for more information., (*4)

Features

Undermentioned is a list of feature this library provides:, (*5)

  • Support for custom implementations (providers)
  • Choice of library used to for sending HTTP Requests
  • Framework Agnostic
  • Flexible & easy to extend

Installation

You can install this package via composer using this command:, (*6)

composer require php-http/guzzle6-adapter guzzlehttp/psr7 php-http/message sourceout/lastfm-php-sdk

Although, the default installation instruction recommends Guzzle Http client it is not the only client that can be used. Refer the following list php-http/client-implementation for choices of clients., (*7)

For more information on this approach refer this documentation., (*8)

Usage

use Sourceout\LastFm\ProviderInterface;
use Sourceout\LastFm\Client as LastFmClient;
use Sourceout\LastFm\Provider\LastFm\LastFm;

/** @var ProviderInterface $provider */
$provider = new LastFm(['api_key' => 'your_api_key_here']);

/** @var LastFmClient $lastFmClient */
$lastFmClient = new LastFmClient();

/** @var Collection $topArtists */
$topArtists = $lastFmClient
    ->getServiceFactory($provider)
    ->getGeoService()
    ->getTopArtists(
        'united states',    // location
        1,                  // page number
        50                  // results per page
    );

You can also register your own custom provider instead of using the default, for e.g., (*9)

use Sourceout\LastFm\Client as LastFmClient;

$lastFmClient = new LastFmClient();

$lastFmClient->registerCustomProviders(
    [
        \path\to\custom\provider::class
        ...
        ...
    ]
);

Additionally, although the package features auto-discovery of http package/client, you can also set your own Http Client as well, below are examples where you provide Guzzle6 instance., (*10)

Method 1

use Sourceout\LastFm\Http\Http;
use Sourceout\LastFm\Http\HttpInterface;
use Sourceout\LastFm\Client as LastFmClient;
use Http\Adapter\Guzzle6\Client as GuzzleClient;
use Http\Message\MessageFactory\GuzzleMessageFactory;

/** @var HttpInterface $http */
$http = new Http();

$http->setHttpClient(new GuzzleClient());
$http->setMessageFactory(new GuzzleMessageFactory());

/** @var LastFmClient $lastFmClient */
$lastFmClient = new LastFmClient($http);

Method 2

use Sourceout\LastFm\Http\Http;
use Sourceout\LastFm\Http\HttpInterface;
use Sourceout\LastFm\Client as LastFmClient;
use Http\Adapter\Guzzle6\Client as GuzzleClient;
use Http\Message\MessageFactory\GuzzleMessageFactory;

/** @var HttpInterface $http */
$http = new Http();

$http->setHttpClient(new GuzzleClient());
$http->setMessageFactory(new GuzzleMessageFactory());

/** @var LastFmClient $lastFmClient */
$lastFmClient = new LastFmClient();
$lastFmClient->setHttpClient($http);

Supported Methods

There is a long list of API(s) provided by LastFm (ref.: https://www.last.fm/api), undermentioned is the list of methods currently supported by this library:, (*11)

Geo
Geo.getTopArtists Get the most popular artists on Last.fm by country
Geo.getTopTracks Get the most popular tracks on Last.fm last week by country

Tests

You can run the tests with:, (*12)

vendor/bin/phpunit

Contributing

Please see CONTRIBUTING for details., (*13)

Security

In case, you discover any security related issues, please email pulkit.swarup@gmail.com instead of using the issue tracker., (*14)

License

Please see License File for more information., (*15)

The Versions

02/07 2018

dev-feature/add-album-methods

dev-feature/add-album-methods

LastFM SDK for PHP

  Sources   Download

MIT

The Requires

 

The Development Requires

by Pulkit Swarup

client php-sdk lastfm lastfm-sdk-php