關於標籤大小寫,有點歷史可能有助於理解趨勢從大寫字母轉變爲小寫字母的原因:在HTML4中,元素通常用大寫字母表示,但根據W3Schools,W3C recommended they be written in lowercase(雖然我找不到引用)。然後,XHTML變得流行起來;但是the specification stipulated elements and attributes must be lowercase。和HTML5 specification says you can go either way, but lowercase is recommended。
關於內部和外部的CSS,它確實取決於。如果多個頁面正在訪問相同的CSS,then the browser will likely cache it,這意味着將所有CSS放入單獨的文件是明智的。我也喜歡這個代碼抽象。但是,如果它是單個頁面,則可以選擇內聯。
關於導航欄,這是一個偏好問題。我喜歡加載模板文件,通過DOM運行它,然後插入我需要的元素。對於性能你可以選擇另一種方法,但我喜歡這個代碼抽象。
類似以下內容:
<?php
class Webpage {
private $document;
function __construct() {
$this->document = new DOMDocument();
if($this->document->loadHTMLFile("template.html")){
$this->createHeaderMenu();
}else{
trigger_error("Webpage->__construct() failed to load template.html", LOG_ERR);
}
}
protected function createHeaderMenu() {
$headerMenu = $this->document->getElementById("header-menu");
$li = $this->document->createElement("li");
$a = $this->document->createElement("a", "Homepage");
$a->setAttribute("href", "/");
$a->setAttribute("target", "_self");
$a->setAttribute("title", "Homepage");
$li->appendChild($a);
$headerMenu->appendChild($li);
}
public function output() {
return (string) $this->document->saveHTML();
}
}
$page = new Webpage();
echo($page->output());
?>
當然,template.html將您的模板,也將需要一個UI元素在裏面設置爲標題菜單的id屬性。
所以template.html被index.php調用(例如),並告訴index.php如何佈局網站或其他「調用」將被顯示? –
是的, template.html基本上是一個純粹的HTML版本的網站,沒有任何內容。在'__construct()'中,它被作爲DOMDocument加載。在'createHeaderMenu()'中,找到帶有標題菜單id的元素,並插入一個裏面帶有元素的li元素;基本上它是填充你的空模板的內容。有很多方法可以對一隻貓進行皮膚處理,但是這種方法可以讓您保留實際的HTML,而不是將它分割成一堆包含或與PHP交織在一起。如果你想改變你的設計而不用搞亂PHP,那就太棒了:) –
Cool PHP對我來說是一款全新的球類遊戲。但我需要建立一個網站,其內容可以由其他不太懂網絡用戶編輯。我沒有運氣讓任何CMS來滿足我的需求,所以我猜它學會了硬編碼。 –