LimeExtra\App::view PHP Method

view() public method

Render view.
public view ( String $template, Array $slots = [] ) : String
$template String Path to view
$slots Array Passed variables
return String Rendered view
    public function view($template, $slots = [])
    {
        $renderer = $this->renderer;
        $olayout = $this->layout;
        $slots = array_merge($this->viewvars, $slots);
        $layout = $olayout;
        $this->layout = false;
        if (strpos($template, ' with ') !== false) {
            list($template, $layout) = explode(' with ', $template, 2);
        }
        if (strpos($template, ':') !== false && ($file = $this->path($template))) {
            $template = $file;
        }
        $slots['extend'] = function ($from) use(&$layout) {
            $layout = $from;
        };
        if (!file_exists($template)) {
            return "Couldn't resolve {$template}.";
        }
        $output = $renderer->file($template, $slots);
        if ($layout) {
            if (strpos($layout, ':') !== false && ($file = $this->path($layout))) {
                $layout = $file;
            }
            if (!file_exists($layout)) {
                return "Couldn't resolve {$layout}.";
            }
            $slots["content_for_layout"] = $output;
            $output = $renderer->file($layout, $slots);
        }
        $this->layout = $olayout;
        return $output;
    }