css[] = $path; } public function addJs(string $path): void { $this->js[] = $path; } public function addBootstrapCss(): void { $this->addCss('/assets/css/bootstrap.min.css'); $this->addCss('/assets/css/bootstrap-icons.css'); } public function addBootstrapJs(): void { $this->addJs('/assets/js/bootstrap.bundle.min.js'); } public function addThemeCss(): void { $this->addCss('/assets/css/style.css'); $this->addCss('/assets/css/mobile.css'); } public function addAppJs(): void { $this->addJs('/assets/js/app.js'); } public function renderCss(): string { $html = ''; foreach ($this->css as $path) { $fullPath = $_SERVER['DOCUMENT_ROOT'] . $path; $version = file_exists($fullPath) ? filemtime($fullPath) : time(); $html .= "\n"; } return $html; } public function renderJs(): string { $html = ''; foreach ($this->js as $path) { $fullPath = $_SERVER['DOCUMENT_ROOT'] . $path; $version = file_exists($fullPath) ? filemtime($fullPath) : time(); $html .= "\n"; } return $html; } public function getCssCount(): int { return count($this->css); } public function getJsCount(): int { return count($this->js); } public function clear(): void { $this->css = []; $this->js = []; } }