SearchHandler
extends BaseHandler
in package
Table of Contents
Properties
- $baseUrl : string
- $client : Client
- $credentialService : LastFmCredentialService|null
- $sessionKey : string|null
Methods
- __construct() : mixed
- albumByName() : array<string|int, mixed>
- albums() : array<string|int, mixed>
- artistByName() : array<string|int, mixed>
- artists() : array<string|int, mixed>
- searchAll() : array<string|int, mixed>
- searchByGenre() : array<string|int, mixed>
- searchSimilar() : array<string|int, mixed>
- setCredentialService() : void
- Set the credential service for automatic session management
- setSessionKey() : void
- Manually set session key (overrides automatic detection)
- trackByName() : array<string|int, mixed>
- tracks() : array<string|int, mixed>
- buildQueryParams() : array<string|int, mixed>
- Build query parameters with automatic session key injection
- getSessionKey() : string|null
- Get session key for authenticated requests
- hasValidCredentials() : bool
- Check if current user has valid credentials
- makeRequest() : array<string|int, mixed>
- Make synchronous API request with error handling
- makeRequestAsync() : PromiseInterface
- Make asynchronous API request returning a promise
- requireAuthentication() : bool
- Require authenticated session for the request
Properties
$baseUrl read-only
protected
string
$baseUrl
$client read-only
protected
Client
$client
$credentialService
protected
LastFmCredentialService|null
$credentialService
= null
$sessionKey
protected
string|null
$sessionKey
= null
Methods
__construct()
public
__construct(Client $client, string $baseUrl) : mixed
Parameters
- $client : Client
- $baseUrl : string
albumByName()
public
albumByName(string $albumName[, string|null $artistName = null ]) : array<string|int, mixed>
Parameters
- $albumName : string
- $artistName : string|null = null
Return values
array<string|int, mixed>albums()
public
albums(string $query[, int $limit = 30 ][, int $page = 1 ]) : array<string|int, mixed>
Parameters
- $query : string
- $limit : int = 30
- $page : int = 1
Return values
array<string|int, mixed>artistByName()
public
artistByName(string $artistName) : array<string|int, mixed>
Parameters
- $artistName : string
Return values
array<string|int, mixed>artists()
public
artists(string $query[, int $limit = 30 ][, int $page = 1 ]) : array<string|int, mixed>
Parameters
- $query : string
- $limit : int = 30
- $page : int = 1
Return values
array<string|int, mixed>searchAll()
public
searchAll(string $query[, int $limit = 10 ]) : array<string|int, mixed>
Parameters
- $query : string
- $limit : int = 10
Return values
array<string|int, mixed>searchByGenre()
public
searchByGenre(string $genre[, string $type = 'all' ][, int $limit = 30 ]) : array<string|int, mixed>
Parameters
- $genre : string
- $type : string = 'all'
- $limit : int = 30
Return values
array<string|int, mixed>searchSimilar()
public
searchSimilar(string $artistName[, int $limit = 30 ]) : array<string|int, mixed>
Parameters
- $artistName : string
- $limit : int = 30
Return values
array<string|int, mixed>setCredentialService()
Set the credential service for automatic session management
public
setCredentialService(LastFmCredentialService $credentialService) : void
Parameters
- $credentialService : LastFmCredentialService
setSessionKey()
Manually set session key (overrides automatic detection)
public
setSessionKey(string|null $sessionKey) : void
Parameters
- $sessionKey : string|null
trackByName()
public
trackByName(string $trackName[, string|null $artistName = null ]) : array<string|int, mixed>
Parameters
- $trackName : string
- $artistName : string|null = null
Return values
array<string|int, mixed>tracks()
public
tracks(string $query[, int $limit = 30 ][, int $page = 1 ]) : array<string|int, mixed>
Parameters
- $query : string
- $limit : int = 30
- $page : int = 1
Return values
array<string|int, mixed>buildQueryParams()
Build query parameters with automatic session key injection
protected
buildQueryParams(array<string|int, mixed> $params) : array<string|int, mixed>
Parameters
- $params : array<string|int, mixed>
Return values
array<string|int, mixed>getSessionKey()
Get session key for authenticated requests
protected
getSessionKey() : string|null
Return values
string|nullhasValidCredentials()
Check if current user has valid credentials
protected
hasValidCredentials() : bool
Return values
boolmakeRequest()
Make synchronous API request with error handling
protected
makeRequest(array<string|int, mixed> $params) : array<string|int, mixed>
Parameters
- $params : array<string|int, mixed>
Return values
array<string|int, mixed>makeRequestAsync()
Make asynchronous API request returning a promise
protected
makeRequestAsync(array<string|int, mixed> $params) : PromiseInterface
Parameters
- $params : array<string|int, mixed>
Return values
PromiseInterfacerequireAuthentication()
Require authenticated session for the request
protected
requireAuthentication() : bool