Skip to content

Support for \Di\env() as parameter in definitions #186

@andersonamuller

Description

@andersonamuller

I cannot do this ATM:

return [
    DatabaseConfiguration::class => \DI\object(DatabaseConfiguration::class)
        ->constructor(
            \DI\env('DATABASE_HOST'),
            \DI\env('DATABASE_PORT'),
            \DI\env('DATABASE_NAME'),
            \DI\env('DATABASE_USERNAME'),
            \DI\env('DATABASE_PASSWORD')
        )
        ->scope(\DI\Scope::SINGLETON())
];

Instead I have to do this workaround:

return [
    'database.host' => \DI\env('DATABASE_HOST'),
    'database.port' => \DI\env('DATABASE_PORT'),
    'database.name' => \DI\env('DATABASE_NAME'),
    'database.username' => \DI\env('DATABASE_USERNAME'),
    'database.password' => \DI\env('DATABASE_PASSWORD'),
    DatabaseConfiguration::class => \DI\object(DatabaseConfiguration::class)
        ->constructor(
            \DI\link('database.host'),
            \DI\link('database.port'),
            \DI\link('database.name'),
            \DI\link('database.username'),
            \DI\link('database.password')
        )
        ->scope(\DI\Scope::SINGLETON())
];

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions