twig模板基本學習

2021-09-25 19:17:03 字數 1792 閱讀 1175

1.輸出 }

2.判斷

3.注釋

具體使用時參考官網文件進行查詢

twig的核心概念是用類的繼承來實現各個頁面,構成其間的結構關係    ---------重要!!!!!

twig也是用來輸出html**的一種語言,更為清楚和簡單

下面用慕課網來進行說明

可以看到慕課網有就業辦,實戰課程,等幾個子網頁,這些子網頁都是分為三部分,中間正文,開頭和結尾,他們的開頭和結尾都是一樣的,所以可以這樣設計

首先設計乙個抽象基類類,有三個方法,

abstract public basepage
接下來,各個子頁面都可以繼承該基類,使用它的getheader 和 gettail方法,重寫getmaintext方法,比如問答頁面來說,

class questionpage extends basepage

public function gettopmenu(){}

public function getrightmenu(){}

public function getquestion(){}

}

可以看到繼承了basepage類,這樣子就只需要編寫和basepage頁面不同的內容即可,這裡問答頁面由上面和右側的選單,還有中間的正文問題,可以看到還有等我回答,熱門回答等幾個不同的頁面

這幾個頁面之間,他們的上側選單都是相同的,但是右側選單是不相同的,這樣以書寫乙個最新回答頁面為例來講,

class newquestion extends questionpage  //右側選單內容不同,改變這一點即可

}

可以看到具體內容不同,所以重新定義了$content變數,這樣getquestion時就能返回不同的內容,然後右側選單不同,所以重寫右側選單函式即可

大概就是這樣的意思,依次推進,提取其中相同的特性,確定類之間的繼承關係,這樣子**的可擴充套件性更高並且更好去維護,並且像相同的頁面的session快取時間要長一些, 而像每個頁面不同的部分的快取時間就短一些

,可以進行不同的設定

下面對twig在symfony3之中的使用進行說明,

1.生成過濾器

使用getfilter

use twig\extension\abstractextension;

use twig\twigfilter;

public function formatprice($number, $decimals = 0, $decpoint = '.', $thousandssep = ',')

記錄乙個小注釋

將父類注釋都繼承下來

use twig\extension\abstractextension;

use twig\twigfunction;

public function calculatearea(int $width, int $length)

暫時不明白這兩種方式有什麼區別

註冊擴充套件時有兩種方法,

php bin/console debug:twig --filter=price    //這種只會更新filter的  

php bin/console debug:twig //這種會將functions和filter的都更新

dsa

dsa打

=price

twig模板引擎

twig是乙個靈活 高效並且安全的php模板引擎。如果你使用過smarty django或者jinja這類基於文字的模板引擎的話,那麼你會覺得twig是很自然而然的事情。twig嚴格遵守了php的信念,同時增加了在模板環境中很有用的函式,這些做法使得twig不論是對設計師還是開發人員,都是非常友好的...

twig 之基本語法

前兩種和angular js類似 相當於佔位符,當被另乙個模板繼承時,可以呼叫這個模組。定義時的內容在繼承的模板中預設是不會出現的,可以使用 來顯示。塊名稱可以使用字母數字字元和下劃線,不允許使用破折號 用來定義,不支援多重繼承,只支援乙個擴充套件模板 包含模板 擴充套件模板 包含模板並擴充套件該模...

opencart 引入 TWIG 模板引擎

1.首先將 twig 包放入 system library 目錄。2.在 system startup.php 檔案最後新增引入語句。require once dir system library twig 1.12.3 lib twig autoloader.php 3.在 index.php 檔...