icecave/traitor

Compose new classes using interfaces and traits at runtime.


Keywords
testing, code, mock, interface, mocking, trait, generate
License
MIT

Documentation

Traitor

Build Status Test Coverage SemVer

Traitor is a PHP library for dynamically generating classes that implement certain interfaces by use of traits. The primary purpose is for creating test mocks.

Example

The example below creates an instance of an object that implements the SomeInterface interface by using the SomeTrait trait. It is passed the values 1, 2, and 3 as constructor parameters.

use Icecave\Traitor\Traitor;

$instance = Traitor::create()
    ->implements_(SomeInterface::CLASS)
    ->use_(SomeTrait::CLASS)
    ->instance(1, 2, 3);

Contact us