Skip to content
This repository has been archived by the owner on Nov 20, 2017. It is now read-only.
/ traitor Public archive

Compose new classes using interfaces and traits at runtime.

License

Notifications You must be signed in to change notification settings

IcecaveStudios/traitor

Repository files navigation

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