Exemple #1
0
 /**
  * Add the ability to call {{ asset() }} within Twig templates
  *
  * @param Aurex $aurex
  */
 protected function addAssetFunction(Aurex $aurex)
 {
     $aurex['twig'] = $aurex->extend('twig', function ($twig, $aurex) {
         /** @var \Twig_Environment $twig */
         $twig->addFunction(new \Twig_SimpleFunction('asset', function ($asset) use($aurex) {
             /** @var RequestStack $requestStack */
             $requestStack = $aurex['request_stack'];
             return sprintf('%s/assets/%s', $requestStack->getCurrentRequest()->getBasePath(), ltrim($asset, '/'));
         }));
         return $twig;
     });
 }
Exemple #2
0
 /**
  * {@inheritDoc}
  */
 public function integrate(Aurex $aurex)
 {
     $aurex->register(new FormServiceProvider());
     $aurex->register(new SessionServiceProvider());
     $aurex->register(new TranslationServiceProvider(), ['locale' => 'en']);
     $aurex['form.extensions'] = $aurex->extend('form.extensions', function ($extensions, $app) {
         $managerRegistry = new FormManagerRegistry(null, [], ['default'], null, null, '\\Doctrine\\ORM\\Proxy\\Proxy');
         $managerRegistry->setContainer($app);
         unset($extensions);
         return [new DoctrineOrmExtension($managerRegistry)];
     });
     $aurex->getInjector()->share($aurex['form.factory']);
 }
Exemple #3
0
 /**
  * {@inheritDoc}
  */
 public function integrate(Aurex $aurex)
 {
     $this->aurex = $aurex;
     $injector = $aurex->getInjector();
     $config = $aurex->getConfiguration();
     /** Alias any interfaces to concrete implementations **/
     $this->aliasObjects();
     /** Delegate any object creations to closures or factories **/
     $this->delegateObjects();
     /** Share any non-silex objects **/
     $this->shareObjects();
     /** Handler for any injection definition sharing for objects that only exist after application boot **/
     $handler = new DelayedInjectionHandler($aurex, $injector);
     /** Have Auryn instantiate our controllers and run the methods **/
     $aurex['resolver'] = $aurex->extend('resolver', function ($resolver, $app) use($injector, $config, $handler) {
         return new AurynControllerResolver($resolver, $injector, $app, $handler, $config);
     });
 }