Ich möchte ein Array auf einem Pimple-Container ändern können, da die Dienste von Pimple eingefroren werden, scheint dies unmöglich zu sein.Pickel/Slim-Container modifizieren
Ich habe versucht, die extend()
Methode auf dem Container, aber aufgrund meiner Array nicht ein Objekt kann ich nicht ändern.
$container = new Slim\Container();
$container['config'] = ['foo'=>'bar'];
// .... do some other stuff.
$container['config']['baz'] = 'Harry'; // throws an error regarding indirect modification
Mit 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.
Gibt es keine Möglichkeit, eine Definition innerhalb Pimple Container zu ändern? Momentan bin ich um ein $config
Array durch Verweis vor dem Instanziieren des Behälters, die weniger als ideal ist!
Vielen Dank im Voraus
Das würde den gesamten Wert löschen, nicht wahr? Wenn ja, dann versuche ich das nicht. –
Sie müssen es zuerst löschen, um es zu lesen. – geggleto
Wenn ich es lösche, wie kann ich es dann ändern? Kurz gesagt, ich habe versucht, neu mit alt zu verschmelzen. Egal, es ist jetzt erreicht worden. –