Skip to content

Parameters in includes #313

@netolicak

Description

@netolicak

Version: 3.1.10

Bug Description

Includes section can expand only parameters which are set to Nette\DI\Config\Loader::setParameters. Parameters which are set in parameters section in config files are ignored.

Steps To Reproduce

Neon file:

parameters:
  # filesystem type local|s3|ftp
  filesystemType: local

includes:
  - filesystems/filesystem-%filesystemType%.neon

Ends with exception Nette\InvalidArgumentException Missing parameter 'filesystemType'.

Expected Behavior

Before processing includes section in neon files merge parameters from parameters section.

Possible Solution

Maybe this change can be enough:

In /src/DI/Config/Loader.php:56 add these lines:

if (isset($data[Nette\DI\Compiler::Parameters])) {
	$this->parameters = Nette\Schema\Helpers::merge($this->parameters, $data[Nette\DI\Compiler::Parameters]);
	$this->parameters = Nette\DI\Helpers::expand($this->parameters, $this->parameters, true);
}

And of course, make public constant Nette\DI\Compiler::Parameters ..

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions