lightningspirit / magic-interfaces

PHP Interfaces for some behavioural magic methods

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Latest Stable Version Build Status License ![Gitter](https://badges.gitter.im/Join Chat.svg)

PHP Interfaces for magic methods

This package provides interfaces that define PHP magic methods.

Using interfaces to test for existing implementations is often recognized as a best practice.

When testing objects for magic methods implementation, those interfaces can be useful.

Motivation

Instead of:

if (method_exists('__invoke', $object)) {
    $object();
}

one can now write:

if ($object instanceof Invokable) {
    $object();
}

Usage example

Create a class that implements some magic interfaces.

/**
 * Implement some magic methods by using interfaces
 */
class Example implements Invokable, Stringifiable {

}

About

PHP Interfaces for some behavioural magic methods

License:MIT License


Languages

Language:PHP 100.0%