LimeExtra\App::__construct PHP Method

__construct() public method

public __construct ( $settings = [] )
    public function __construct($settings = [])
    {
        $settings["helpers"] = array_merge(["acl" => "Lime\\Helper\\SimpleAcl", "assets" => "Lime\\Helper\\Assets", "fs" => "Lime\\Helper\\Filesystem", "image" => "Lime\\Helper\\Image", "i18n" => "Lime\\Helper\\I18n", "utils" => "Lime\\Helper\\Utils", "coockie" => "Lime\\Helper\\Cookie"], isset($settings["helpers"]) ? $settings["helpers"] : []);
        parent::__construct($settings);
        // renderer service
        $this->service('renderer', function () {
            $renderer = new \Lexy();
            //register app helper functions
            $renderer->extend(function ($content) {
                $content = preg_replace('/(\\s*)@extend\\((.+?)\\)/', '$1<?php $extend($2); ?>', $content);
                $content = preg_replace('/(\\s*)@base\\((.+?)\\)/', '$1<?php $app->base($2); ?>', $content);
                $content = preg_replace('/(\\s*)@route\\((.+?)\\)/', '$1<?php $app->route($2); ?>', $content);
                $content = preg_replace('/(\\s*)@scripts\\((.+?)\\)/', '$1<?php echo $app->assets($2); ?>', $content);
                $content = preg_replace('/(\\s*)@render\\((.+?)\\)/', '$1<?php echo $app->view($2); ?>', $content);
                $content = preg_replace('/(\\s*)@trigger\\((.+?)\\)/', '$1<?php $app->trigger($2); ?>', $content);
                $content = preg_replace('/(\\s*)@lang\\((.+?)\\)/', '$1<?php echo $app("i18n")->get($2); ?>', $content);
                $content = preg_replace('/(\\s*)@start\\((.+?)\\)/', '$1<?php $app->start($2); ?>', $content);
                $content = preg_replace('/(\\s*)@end\\((.+?)\\)/', '$1<?php $app->end($2); ?>', $content);
                $content = preg_replace('/(\\s*)@block\\((.+?)\\)/', '$1<?php $app->block($2); ?>', $content);
                return $content;
            });
            return $renderer;
        });
        $this("session")->init();
    }