示例#1
0
文件: HtmlPage.php 项目: cawaphp/cawa
 /**
  * @return string
  */
 public function render()
 {
     $timerEvent = new TimerEvent('router.htmlPage', ['elements' => sizeof($this->elements)]);
     $out = '<!DOCTYPE html lang="' . self::locale() . '">' . "\n";
     // default seo
     if (!$this->headTitle && ($title = self::trans('seo.default/title'))) {
         $this->setHeadTitle($title);
     }
     if (!$this->headDescription && ($description = self::trans('seo.default/description'))) {
         $this->setHeadDescription($description);
     }
     // add mandatory headers
     $language = new HtmlElement('<meta />');
     $language->addAttributes(['http-equiv' => 'Content-Language', 'content' => self::locale()]);
     $this->head->addFirst($language);
     $charset = new HtmlElement('<meta />');
     $charset->addAttribute('charset', 'utf-8');
     $this->head->addFirst($charset);
     $content = $this->body->getContent();
     if ($content) {
         $this->body->setContent($content . $this->footer->render());
     }
     $parent = parent::render();
     $out .= $parent;
     $timerEvent->addData(['size' => $this->getContent() ? strlen($this->getContent()) : strlen($parent)]);
     self::emit($timerEvent);
     return $out;
 }