public function boot(Container $container)
    {
        // register an extension
        $container['events']->on(
            'f.extension.load',
            function (Extension $extension, array $options, $safe) use ($container) {
                $extension->setup($options);
                $container['command']->registerFunctions($extension->provideFunctions(), $safe);
                $container['command']->registerFilters($extension->provideFilters());
                if ($extension instanceof TemplateAware) {
                    $extension->setStack($container['template.stack']);
                }
                if ($extension instanceof FinderAware) {
                    $extension->setFinder($container['template.finder']);
                }
                if ($extension instanceof EngineAware) {
                    $extension->setEngine($container['engine']);
                }
                $container['events']->fire('f.extension.registered', $extension);
            }
        );

        // register a function
        $container['events']->on(
            'f.function.register',
            function ($function, callable $callback, $safe) use ($container) {
                $container['command']->registerFunctions([$function => $callback], $safe);
            }
        );

        // register a filter
        $container['events']->on(
            'f.filter.register',
            function ($filter, callable $callback) use ($container) {
                $container['command']->registerFilters([$filter => $callback]);
            }
        );

        $container['events']->on('f.bootstrapped', function () use ($container) {
            $container['command']->lock();
        });
    }
public function boot(Container $container)
    {
        // register an extension
        $container['events']->on(
            'f.extension.load',
            function (Extension $extension, array $options, $safe) use ($container) {
                $extension->setup($options);
                $container['command']->registerFunctions($extension->provideFunctions(), $safe);
                $container['command']->registerFilters($extension->provideFilters());
                if ($extension instanceof TemplateAware) {
                    $extension->setStack($container['template.stack']);
                }
                if ($extension instanceof FinderAware) {
                    $extension->setFinder($container['template.finder']);
                }
                if ($extension instanceof EngineAware) {
                    $extension->setEngine($container['engine']);
                }
                $container['events']->fire('f.extension.registered', $extension);
            }
        );

        // register a function
        $container['events']->on(
            'f.function.register',
            function ($function, callable $callback, $safe) use ($container) {
                $container['command']->registerFunctions([$function => $callback], $safe);
            }
        );

        // register a filter
        $container['events']->on(
            'f.filter.register',
            function ($filter, callable $callback) use ($container) {
                $container['command']->registerFilters([$filter => $callback]);
            }
        );

        $container['events']->on('f.bootstrapped', function () use ($container) {
            $container['command']->lock();
        });
    }
public function boot ( Container $ container ) { // register an extension $ container [ 'events' ] -> on ( 'f.extension.load' , function ( Extension $ extension , array $ options , $ safe ) use ( $ container ) { $ extension -> setup ( $ options ) ; $ container [ 'command' ] -> registerFunctions ( $ extension -> provideFunctions ( ) , $ safe ) ; $ container [ 'command' ] -> registerFilters ( $ extension -> provideFilters ( ) ) ; if ( $ extension instanceof TemplateAware ) { $ extension -> setStack ( $ container [ 'template.stack' ] ) ; } if ( $ extension instanceof FinderAware ) { $ extension -> setFinder ( $ container [ 'template.finder' ] ) ; } if ( $ extension instanceof EngineAware ) { $ extension -> setEngine ( $ container [ 'engine' ] ) ; } $ container [ 'events' ] -> fire ( 'f.extension.registered' , $ extension ) ; } ) ; // register a function $ container [ 'events' ] -> on ( 'f.function.register' , function ( $ function , callable $ callback , $ safe ) use ( $ container ) { $ container [ 'command' ] -> registerFunctions ( [ $ function => $ callback ] , $ safe ) ; } ) ; // register a filter $ container [ 'events' ] -> on ( 'f.filter.register' , function ( $ filter , callable $ callback ) use ( $ container ) { $ container [ 'command' ] -> registerFilters ( [ $ filter => $ callback ] ) ; } ) ; $ container [ 'events' ] -> on ( 'f.bootstrapped' , function ( ) use ( $ container ) { $ container [ 'command' ] -> lock ( ) ; } ) ; }
Register events to allow registration of extensions, filters and actions.
Events are triggered by Engine.

@param Container $container
Register events to allow registration of extensions filters and actions . Events are triggered by Engine .