public function header($code = 200) { if (!is_array($code)) { $code = [$code]; } self::$header = array(); while (list($key, $value) = each($code)) { if (is_int($value)) { self::$header[] = $_SERVER["SERVER_PROTOCOL"] . ' ' . Route::$HTTP_RESPONSE[$value]; } else { self::$header[] = $value; } } }
public function render($file, $response = "") { ob_start(); include $file; self::$fullrender = ob_get_clean(); $config = $this->config; self::$fullrender = preg_replace_callback(array('/(\\\\)?' . addslashes($this->config->get('template.open_tag')) . '=?' . '/', '/(\\\\)?' . addslashes($this->config->get('template.close_tag')) . '/'), function ($s) use($config) { if (isset($s[0])) { if (isset($s[1]) && $s[1] == '\\') { return substr($s[0], 1); } elseif ($s[0] == $this->config->get('template.open_tag')) { return '<?php '; } elseif ($s[0] == '{{=') { return '<?php echo '; } elseif ($s[0] == $this->config->get('template.close_tag')) { return '?>'; } } }, self::$fullrender); self::$fullrender = str_replace(['@js', '@css'], [$this->assets->js->render(), $this->assets->css->render()], self::$fullrender); if (!empty($response)) { self::$fullrender = str_replace(['@yield', '@response'], [$response, $response], self::$fullrender); } //-- END Replace Tag ob_start(); eval('?>' . self::$fullrender); self::$fullrender = ob_get_clean(); return self::$fullrender; }