Attribute Name | Type | Required | Default | 描述 |
---|---|---|---|---|
file | string | Yes | n/a | The name of the php file to include |
once | boolean | No | true | whether or not to include the php file more than once if included multiple times |
assign | string | No | n/a | The name of the variable that the output of include_php will be assigned to |
屬性 | 型別 | 是否必須 | 預設值 | 描述 |
---|---|---|---|---|
file | string | Yes | n/a | 待包含php檔案的名稱 |
once | boolean | No | true | 如果待包含php檔案已被包含是否仍然包含(類似php中的include_once函式) |
assign | string | No | n/a | 該屬性指定一個變數儲存待包含php檔案的輸出 |
inluce_php 函式用於在模板中包含 php 指令碼. 如果設定了安全模式,被包含的指令碼必須位於 $trusted_dir 路徑下. include_php 函式必須設定 file 屬性,該屬性指明被包含 php 檔案的路徑,可以是 $trusted_dir 的相對路徑,也可以是絕對路徑.
include_php 是解決模板部件化的好方法,它使得 php 程式碼從模板檔案中被分離出來. 舉個例子:假設有一個從資料庫中動態取出資料用於顯示站點導航的模板,你可以將得資料內容的 php 邏輯部分分離出來儲存在一個單獨的檔案夾下,並在模板開始的位置包含該 php 指令碼. 那麼就可以在任何地方包含此模板而不用擔心之前資料庫資訊是否已被程式取出.
即使是在模板中多次地呼叫 php 檔案,預設情況下它們只被包含一次. 你可以設定 once 屬性從而指明每次呼叫都重新包含該檔案. 如果將 once 屬性設定為 false,每次呼叫該檔案都將被重新包含.
如果設定了 assign 屬性,該屬性對應的變數名用於儲存待包含 php 的輸出,這樣待包含 php 檔案的輸出就不會直接顯示了。
在待包含 php 檔案中可以通過 $this 存取 smarty 物件.
Example 7-9. function include_php
|