ryanve / traits
PHP traits for making extensible classes.
Installs: 18
Dependents: 1
Suggesters: 0
Security: 0
Stars: 5
Watchers: 2
Forks: 0
Open Issues: 0
pkg:composer/ryanve/traits
Requires
- php: >=5.4
README
opensource PHP traits
Dataincludes data/removeData methods.Emitteris an event emitter based on EventEmitter.Mixinis for making extensible classes.Awareincludes instantiation and context helpers.
Usage
Import into a class
class Example { use \traits\Mixin; }
Static mixins
static key/value mixin
Example::mixin('foo', function() { return 'bar'; });
static array mixin
Example::mixin([ 'foo' => function() { return 'bar'; } ]);
static method call
Example::foo(); # 'bar'
Instance mixins
Specify instance methods by passing true
static key/value mixin
Example::mixin('foo', function() { return 'bar'; }, true);
instance array mixin
Example::mixin([ 'foo' => function() { return 'bar'; } ], true);
instance method call
$example = new Example; Example->foo(); # 'bar'