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