Skip to content

DI\decorate() to decorate a previous definition #248

@mnapoli

Description

@mnapoli

Following #214 (Extend and decorate definitions) this issue is targeted at decorating a previous definition using a callable.

Here is an example using a new DI\decorate() function:

    // Add custom behavior
    LoggerInterface::class => DI\decorate(function (LoggerInterface $logger) {
        $logger->setSomething('foo');
    }),
    // Return another object
    LoggerInterface::class => DI\decorate(function (LoggerInterface $logger) {
        return new Wrapper($logger);
    }),

It could also be implemented using factory() but it's less explicit:

    LoggerInterface::class => DI\factory(function (LoggerInterface $logger) {
        return new Wrapper($logger);
    }),

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions