<?php
namespace Fig\Link;
use Psr\Link\EvolvableLinkProviderInterface;
use Psr\Link\LinkInterface;
class GenericLinkProvider implements EvolvableLinkProviderInterface
{
use EvolvableLinkProviderTrait;
/**
* Constructs a new link provider.
*
* @param LinkInterface[] $links
* Optionally, specify an initial set of links for this provider.
* Note that the keys of the array will be ignored.
*/
public function __construct(array $links = [])
{
// This block will throw a type error if any item isn't a LinkInterface, by design.
array_filter($links, function (LinkInterface $item) {
return true;
});
$hashes = array_map('spl_object_hash', $links);
$this->links = array_combine($hashes, $links);
}
}