public function register(Neptune $neptune) { $neptune['view'] = function ($neptune) { $creator = new ViewCreator($neptune); foreach ($neptune->getTaggedServices('neptune.view.extensions') as $service) { $creator->addExtension($service); } return $creator; }; $neptune['view.listener'] = function ($neptune) { return new ViewListener($neptune, 'view'); }; }
public function register(Neptune $neptune) { $neptune['twig.options'] = function ($neptune) { $defaults = ['strict_variables' => true]; return array_merge($defaults, $neptune['config']->get('twig', [])); }; $neptune['twig'] = function ($neptune) { $environment = new TwigEnvironment($neptune['twig.loader'], $neptune['twig.options']); foreach ($neptune->getTaggedServices('twig.extensions') as $service) { $environment->addExtension($service); } $environment->addGlobal('app', $neptune); return $environment; }; $neptune['twig.loader'] = function ($neptune) { return new FilesystemLoader($neptune); }; $neptune['twig.exception_listener'] = function ($neptune) { return new TwigExceptionListener($neptune['twig']); }; }