ObjectUtil組件其實(shí)就是單例模式的最好范例,聲明調(diào)用各個(gè)組件的時(shí)候,用ObjectUtil調(diào)用,可以有效的防止調(diào)用過(guò)多的類(lèi)而導(dǎo)致錯(cuò)誤或者資源浪費(fèi)。
比如調(diào)用Db組件,這樣聲明就可以了
$db = LtObjectUtil::singleton('LtDb');
singleton方法是LtObjectUtil類(lèi)中唯一的方法,目的就是聲明類(lèi)庫(kù),如果該類(lèi)庫(kù)存在init()方法,然后調(diào)用該類(lèi)庫(kù)的init()的方法。
ObjectUtil 還有一個(gè)快速調(diào)用的函數(shù),可以在框架里或者模板里進(jìn)行快速調(diào)用
格式如下:
C('LtDb');
其實(shí)就是函數(shù)內(nèi)部調(diào)用的LtObjectUtil::singleton('LtDb');
LotusPhp 是不太主張過(guò)多的使用靜態(tài)類(lèi)的,這個(gè)是框架中唯一的靜態(tài)類(lèi)。
對(duì)于靜態(tài)類(lèi)的優(yōu)劣,不是今天說(shuō)的主題,不過(guò)大家可以看看這篇<基于PHP靜態(tài)類(lèi)的原罪詳解>的文章,就是說(shuō)靜態(tài)類(lèi)的,可以作為參考。