Smarty物件的預設屬性和方法?

Tags: 物件, 屬性,

Smarty物件的預設屬性和方法

在Smarty使用五步走中的第三步是更改Smarty物件的預設屬性與行為,那麼我們在實際操作時,怎麼設定其值呢?

工具/原料

Smarty

方法/步驟

1)Smarty中的相關屬性

Smarty物件的預設屬性和方法

問題:如何追蹤left_delimiter與right_delimiter預設值呢?

答:使用Zend軟體中的快捷鍵Ctrl+滑鼠左鍵可以追蹤原始碼!

在實際應用中,如果你不習慣使用{}花括號可以更改這兩個屬性,如下圖所示:

Smarty物件的預設屬性和方法

但是要注意,更改完成後,在模板中呼叫標籤也需要使用以上方式,如下圖所示:

Smarty物件的預設屬性和方法

2)與路徑相關的四個屬性

• template_dir :模板目錄,預設為templates

• complile_dir :編譯目錄,預設為templates_c

• config_dir :配置目錄,預設為configs

• cache_dir :快取目錄,預設為cache

以上預設路徑都可以在Smarty.class.php入口檔案中查詢到,如下圖所示:

Smarty物件的預設屬性和方法

但是在Smarty2.0中,以上四個屬性是公有屬性,但是在Smarty3.0版本之後,以上四個屬性都被宣告為私有屬性,但是我們還是可以在類的外面實現對以上四個屬性的訪問,如下圖所示:

Smarty物件的預設屬性和方法

說明:雖然以上四個屬性在Smarty3.0版本之後被宣告為私有屬性,但是其受到魔術方法__set與__get的影響,依然可以在類外訪問。

Smarty物件的預設屬性和方法

__set與__get魔術方法功能:

當我們訪問一個不存在或私有屬性時,系統會自動呼叫__set與__get進行設定與獲取操作。

特別注意:雖然可以通過以上方式訪問私有屬性,但是不建議這樣去使用,如果想設定相關的路徑資訊,可以採用如下四個方法進行替代:

① setTemplateDir() :設定模板目錄

② setCompileDir() :設定編譯目錄

③ setConfigDir() :設定配置目錄

④ setCacheDir() :設定快取目錄

Smarty物件的預設屬性和方法

物件, 屬性,
相關問題答案