Trait是部分class的實現 ,讓我們能將部分class注入到其他class。
trait有兩個功能 :
- 提供如interface的
合約
。 - 提供如class的
實作
。
所以trait是一個看起來像interface,但用起來像class的東西。
Trait是部分class的實現 ,讓我們能將部分class注入到其他class。
trait有兩個功能 :
合約
。實作
。所以trait是一個看起來像interface,但用起來像class的東西。
物件導向語言的3大特徵 : 繼承、封裝、多型
。早期的物件導向強調繼承
,而近代的物件導向則強調多型
。
多型
簡單的說就是對interface寫程式
(Code to an Interface),所以interface是現代PHP實踐物件導向最重要的功能。
除此之外,interface也是PHP實踐TDD的重要基石。
有時可能我們同時編輯多篇文章,其中一篇文章寫完了需要發佈,但其他文章因為篇幅較龐大,暫時還沒有寫完。
當然我們不希望為了發佈其中一篇文章,而將其他未完成的文章也一併發佈,此時我們可以使用 Hexo 所提供的 draft 機制,讓我們可以在本機預覽草稿,但發佈時只發佈已經完成的文章。
Namespace是物件導向語言很基本的功能,主要在解決class名稱衝突的問題。C++與C#也稱為namespace,Java則稱為package,雖然名稱不一樣,但精神都一樣,不過在語法部分PHP有自己的主張,與其他語言稍有不同。
Namespace最大的貢獻是使得framework與package能被大量地流通使用,是PHP現代化中最重要的一個基石。
因為 Freemind 主題是基於 Bootstrap,因此 Freemind 主題提供了自己的擴充標籤,以充分發利用 Boostrap 的威力,如改變文字顏色、Buttons、Labels、Badges、Margin Note…等。
除了安裝 Freemind 主題外,還必須另外安裝 hexo-tag-bootstrap 這個 package,才能夠使用以下基於 Bootstrap 的擴充標籤。
Hexo 除了支援 Markdown 標籤外,還另外擴充了一些標籤,以彌補 Markdown 的不足,如引用書中或 Twitter 的句子、插入 Youtube 影片…等,這些都是原本 Markdown 所沒有的。本文特別整理出 Hexo 3 目前所支援的擴充標籤。
由於這些屬 Hexo 擴充,無法在一般 Markdown preview 顯示,必須經過 Hexo 編譯後才能在瀏覽器顯示。
使用Hexo寫Blog時,是使用Markdown標籤,這是一個簡單且直覺的標籤,你不用為了寫Blog而須面對日益複雜的HTML與CSS,Hexo會幫你將Markdown編譯成相對應的HTML與CSS。
你可以直接使用你喜歡的文字編輯器編輯Markdown文件,只要Markdown文件一存檔,瀏覽器就可以立即顯示目前的結果。