Skip to content

wickedbyte/link-tortilla

 
 

Link Tortilla - PSR-13 Hypermedia Links Wrapper

This project is an independently maintained fork of phoneburner/link-tortilla, originally released under the MIT license, by the original project authors. This fork is neither affiliated with nor endorsed by PhoneBurner.

Provides a simple set of traits to allow wrapping user classes as PSR-13 Link implementations. Wrapping the class allows easy addition of convenience methods, while maintaining compatibility with code that relies on the underlying PSR interfaces.

For convenience, this project also includes \WickedByte\LinkTortilla\Link, a simple implementation of the PSR-13 Psr\Link\EvolvableLinkInterface that can be used as the instance passed into the wrapper class.

Requirements

Installation

The preferred method of installation is to use Composer:

composer require wickedbyte/link-tortilla

Usage

To add PSR-13 Link behavior to an arbitrary object, add the LinkWrapper trait, and set the wrapped Link with setWrapped(). Now if you add implements Psr\Link\EvolvableLinkInterface to the class definition, you will see that all the required methods are defined and proxy to the wrapped Link.

<?php

declare(strict_types=1);

use WickedByte\LinkTortilla\LinkWrapper;
use Psr\Link\LinkInterface;

class MyWrappedLink implements LinkInterface
{
    use LinkWrapper;

    public function __construct(LinkInterface $link)
    {
        $this->setWrapped($link);
    }
}

Contributing

Contributions are welcome, please see CONTRIBUTING.md for more information, including reporting bugs and creating pull requests.

Coordinated Disclosure

Keeping user information safe and secure is a top priority, and we welcome the contribution of external security researchers. If you believe you've found a security issue, please read SECURITY.md for instructions on submitting a vulnerability report.

About

Link Tortilla - PSR-13 Hypermedia Links Wrapper

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • PHP 67.9%
  • Makefile 22.0%
  • Dockerfile 10.1%