core23/lastfm-bundle

This bundle provides services for using the last.fm API inside the symfony.

Installs: 35

Dependents: 0

Suggesters: 0

Stars: 0

Watchers: 1

Forks: 0

Open Issues: 0

Type:symfony-bundle

0.4.2 2018-11-07 17:30 UTC

README

Latest Stable Version Latest Unstable Version License

Total Downloads Monthly Downloads Daily Downloads

Build Status Scrutinizer Code Quality Code Climate Coverage Status

This bundle provides a wrapper for using the Last.fm API inside symfony.

Installation

Open a command console, enter your project directory and execute the following command to download the latest stable version of this bundle:

composer require core23/lastfm-bundle
composer require php-http/guzzle6-adapter # if you want to use Guzzle

Enable the Bundle

Then, enable the bundle by adding it to the list of registered bundles in bundles.php file of your project:

// config/bundles.php

return [
    // ...
    Http\HttplugBundle\HttplugBundle::class       => ['all' => true],
    Core23\LastFmBundle\Core23LastFmBundle::class => ['all' => true],
];

Configure the Bundle

Define the API credentials in your configuration.

# config/packages/core23_lastfm.yaml

core23_lastfm:
    api:
        app_id:         "%lastfm_api.id%"
        shared_secret:  "%lastfm_api.secret%"

Usage

Define a HTTPlug client in your configuration.

# config/packages/httplug.yaml

httplug:
    classes:
        client: Http\Adapter\Guzzle6\Client
        message_factory: Http\Message\MessageFactory\GuzzleMessageFactory
        uri_factory: Http\Message\UriFactory\GuzzleUriFactory
        stream_factory: Http\Message\StreamFactory\GuzzleStreamFactory
    clients:
        default:
            # ...
            plugins:
                - httplug.plugin.redirect # plugin is needed for the webcrawler

API cache

It is recommended to use a cache to reduce the API usage.

# config/packages/httplug.yaml

httplug:
    plugins:
        cache:
            cache_pool: 'acme.httplug_cache'
            config:
                default_ttl: 7200 # Two hours
    clients:
        default:
            plugins:
                - httplug.plugin.cache

License

This bundle is under the MIT license.