ObjectUtil組件其實就是單例模式的最好范例,聲明調用各個組件的時候,用ObjectUtil調用,可以有效的防止調用過多的類而導致錯誤或者資源浪費。
比如調用Db組件,這樣聲明就可以了
$db = LtObjectUtil::singleton('LtDb');
singleton方法是LtObjectUtil類中唯一的方法,目的就是聲明類庫,如果該類庫存在init()方法,然後調用該類庫的init()的方法。
ObjectUtil 還有一個快速調用的函數,可以在框架裡或者模板裡進行快速調用
格式如下:
C('LtDb');
其實就是函數內部調用的LtObjectUtil::singleton('LtDb');
LotusPhp 是不太主張過多的使用靜態類的,這個是框架中唯一的靜態類。
對於靜態類的優劣,不是今天說的主題,不過大家可以看看這篇<基於PHP靜態類的原罪詳解>的文章,就是說靜態類的,可以作為參考。