我希望能够修改 Pimple 容器上的数组,但是,因为服务被 Pimple 冻结,这似乎是不可能的。
我已经extend()
在容器上尝试了该方法,但是,由于我的数组不是对象,我无法修改它。
$container = new Slim\Container();
$container['config'] = ['foo'=>'bar'];
// .... do some other stuff.
$container['config']['baz'] = 'Harry'; // throws an error regarding indirect modification
使用extend
$container = new Slim\Container();
$container['config'] = ['foo'=>'bar'];
$container->extend('config',function($config,$container){
$config['baz'] = 'Harry';
return $config;
});
// throws an error PHP Fatal error: Uncaught InvalidArgumentException: Identifier "config" does not contain an object definition.
有没有办法修改 Pimple 容器内的定义?$config
目前,在实例化不太理想的容器之前,我通过引用传递了一个数组!
提前致谢