A priori le problème vient de la méthode extension (désolé), j'avais vu ça dans la doc mais ça ne colle pas ici, elle sert à autre chose... c'est mieux avec la méthode parameters :
$containerConfigurator->parameters()
->set('toto_conf.parameter_name', ['parameter value']);
Rien ne t'empêche de mettre totoConf tout court.
$containerConfigurator->parameters()
->set('totoConf', /*...*/);
Et
arguments:
$totoConf: '%totoConf%'
J'essayais juste de respecter un peu les conventions symfony.
Testé et approuvé !
App\Service\TotoService {#2033 ▼
-totoConf: array:1 [▼
0 => "parameter value"
]
}
Avec services.yaml :
imports:
- { resource: 'packages/toto_conf.php' }
services:
App\Service\TotoService:
arguments:
$totoConf: '%totoConf%'
toto_conf.php :
<?php
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
return static function (ContainerConfigurator $containerConfigurator) {
$containerConfigurator->parameters()
->set('totoConf', ['parameter value']);
};
et classe :
<?php
namespace App\Service;
class TotoService
{
private array $totoConf;
public function __construct(array $totoConf)
{
$this->totoConf = $totoConf;
}
}
A priori le problème vient de la méthode extension (désolé), j'avais vu ça dans la doc mais ça ne colle pas ici, elle sert à autre chose... c'est mieux avec la méthode parameters :
[PHP]$containerConfigurator->parameters()
->set('toto_conf.parameter_name', ['parameter value']);[/PHP]
Rien ne t'empêche de mettre totoConf tout court.
[PHP]$containerConfigurator->parameters()
->set('totoConf', /*...*/);[/PHP]
Et
[PHP]arguments:
$totoConf: '%totoConf%'[/PHP]
J'essayais juste de respecter un peu les conventions symfony.
Testé et approuvé !
[PHP]App\Service\TotoService {#2033 ▼
-totoConf: array:1 [▼
0 => "parameter value"
]
}[/PHP]
Avec services.yaml :
[PHP]imports:
- { resource: 'packages/toto_conf.php' }
services:
App\Service\TotoService:
arguments:
$totoConf: '%totoConf%'[/PHP]
toto_conf.php :
[PHP]<?php
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
return static function (ContainerConfigurator $containerConfigurator) {
$containerConfigurator->parameters()
->set('totoConf', ['parameter value']);
};[/PHP]
et classe :
[PHP]<?php
namespace App\Service;
class TotoService
{
private array $totoConf;
public function __construct(array $totoConf)
{
$this->totoConf = $totoConf;
}
}[/PHP]