protected function registerEngine()
    {
        $this->app->bindIf(
            'twig',
            function () {
                $extensions = $this->app['twig.extensions'];
                $lexer      = $this->app['twig.lexer'];
                $twig       = new Bridge(
                    $this->app['twig.loader'],
                    $this->app['twig.options'],
                    $this->app
                );

                // Instantiate and add extensions
                foreach ($extensions as $extension) {
                    // Get an instance of the extension
                    // Support for string, closure and an object
                    if (is_string($extension)) {
                        try {
                            $extension = $this->app->make($extension);
                        } catch (\Exception $e) {
                            throw new InvalidArgumentException(
                                "Cannot instantiate Twig extension '$extension': " . $e->getMessage()
                            );
                        }
                    } elseif (is_callable($extension)) {
                        $extension = $extension($this->app, $twig);
                    } elseif (!is_a($extension, ExtensionInterface::class)) {
                        throw new InvalidArgumentException('Incorrect extension type');
                    }

                    $twig->addExtension($extension);
                }

                // Set lexer
                if (is_a($lexer, Lexer::class)) {
                    $twig->setLexer($lexer);
                }

                return $twig;
            },
            true
        );

        $this->app->alias('twig', Twig_Environment::class);
        $this->app->alias('twig', Bridge::class);

        $this->app->bindIf('twig.compiler', function () {
            return new Engine\Compiler($this->app['twig']);
        });

        $this->app->bindIf('twig.engine', function () {
            return new Engine\Twig(
                $this->app['twig.compiler'],
                $this->app['twig.loader.viewfinder'],
                $this->app['config']->get('twigbridge.twig.globals', [])
            );
        });
    }
protected function registerEngine()
    {
        $this->app->bindIf(
            'twig',
            function () {
                $extensions = $this->app['twig.extensions'];
                $lexer      = $this->app['twig.lexer'];
                $twig       = new Bridge(
                    $this->app['twig.loader'],
                    $this->app['twig.options'],
                    $this->app
                );

                // Instantiate and add extensions
                foreach ($extensions as $extension) {
                    // Get an instance of the extension
                    // Support for string, closure and an object
                    if (is_string($extension)) {
                        try {
                            $extension = $this->app->make($extension);
                        } catch (\Exception $e) {
                            throw new InvalidArgumentException(
                                "Cannot instantiate Twig extension '$extension': " . $e->getMessage()
                            );
                        }
                    } elseif (is_callable($extension)) {
                        $extension = $extension($this->app, $twig);
                    } elseif (!is_a($extension, ExtensionInterface::class)) {
                        throw new InvalidArgumentException('Incorrect extension type');
                    }

                    $twig->addExtension($extension);
                }

                // Set lexer
                if (is_a($lexer, Lexer::class)) {
                    $twig->setLexer($lexer);
                }

                return $twig;
            },
            true
        );

        $this->app->alias('twig', Twig_Environment::class);
        $this->app->alias('twig', Bridge::class);

        $this->app->bindIf('twig.compiler', function () {
            return new Engine\Compiler($this->app['twig']);
        });

        $this->app->bindIf('twig.engine', function () {
            return new Engine\Twig(
                $this->app['twig.compiler'],
                $this->app['twig.loader.viewfinder'],
                $this->app['config']->get('twigbridge.twig.globals', [])
            );
        });
    }
protected function registerEngine ( ) { $ this -> app -> bindIf ( 'twig' , function ( ) { $ extensions = $ this -> app [ 'twig.extensions' ] ; $ lexer = $ this -> app [ 'twig.lexer' ] ; $ twig = new Bridge ( $ this -> app [ 'twig.loader' ] , $ this -> app [ 'twig.options' ] , $ this -> app ) ; // Instantiate and add extensions foreach ( $ extensions as $ extension ) { // Get an instance of the extension // Support for string, closure and an object if ( is_string ( $ extension ) ) { try { $ extension = $ this -> app -> make ( $ extension ) ; } catch ( \ Exception $ e ) { throw new InvalidArgumentException ( "Cannot instantiate Twig extension '$extension': " . $ e -> getMessage ( ) ) ; } } elseif ( is_callable ( $ extension ) ) { $ extension = $ extension ( $ this -> app , $ twig ) ; } elseif ( ! is_a ( $ extension , ExtensionInterface :: class ) ) { throw new InvalidArgumentException ( 'Incorrect extension type' ) ; } $ twig -> addExtension ( $ extension ) ; } // Set lexer if ( is_a ( $ lexer , Lexer :: class ) ) { $ twig -> setLexer ( $ lexer ) ; } return $ twig ; } , true ) ; $ this -> app -> alias ( 'twig' , Twig_Environment :: class ) ; $ this -> app -> alias ( 'twig' , Bridge :: class ) ; $ this -> app -> bindIf ( 'twig.compiler' , function ( ) { return new Engine \ Compiler ( $ this -> app [ 'twig' ] ) ; } ) ; $ this -> app -> bindIf ( 'twig.engine' , function ( ) { return new Engine \ Twig ( $ this -> app [ 'twig.compiler' ] , $ this -> app [ 'twig.loader.viewfinder' ] , $ this -> app [ 'config' ] -> get ( 'twigbridge.twig.globals' , [ ] ) ) ; } ) ; }
Register Twig engine bindings.

@return void
Register Twig engine bindings .