国产chinesehdxxxx野外,国产av无码专区亚洲av琪琪,播放男人添女人下边视频,成人国产精品一区二区免费看,chinese丰满人妻videos

DI服務(wù)速查:各資源服務(wù)一覽表

2018-11-21 21:15 更新

“完成,好過完美。” -- 臉譜書文化之一

1.19.1 一覽表

變量名稱是否啟動時自動注冊是否必須接口/類作用說明
loaderPhalApi_Loader自動加載:負(fù)責(zé)PEAR風(fēng)格下類的自動加載,需要手動注冊,指定項(xiàng)目路徑
configPhalApi_Config配置:負(fù)責(zé)項(xiàng)目配置的讀取,需要手動注冊,指定存儲媒介,默認(rèn)是PhalApi_Config_File
loggerPhalApi_Logger日志紀(jì)錄:負(fù)責(zé)日志的寫入,需要手動注冊,指定日志級別和存儲媒介,默認(rèn)是PhalApi_Logger_File
requestPhalApi_Request接口參數(shù)請求:用于收集接口請求的參數(shù)
responsePhalApi_Response結(jié)果響應(yīng):用于輸出返回給客戶端的結(jié)果,默認(rèn)為PhalApi_Response_Json
notorm推薦PhalApi_DB_NotORM數(shù)據(jù)操作:基于NotORM的DB操作,需要手動注冊,指定數(shù)據(jù)庫配置
cache推薦PhalApi_Cache緩存:實(shí)現(xiàn)緩存讀寫,需要手動注冊,指定緩存
filter推薦PhalApi_Filter攔截器:實(shí)現(xiàn)簽名驗(yàn)證、權(quán)限控制等操作
cryptPhalApi_Crypt對稱加密:實(shí)現(xiàn)對稱加密和解密,需要手動注冊
curlPhalApi_CUrlCURL請求類:通過curl實(shí)現(xiàn)的快捷方便的接口請求類,需要手動注冊
cookiePhalApi_CookieCOOKIE的操作
debugboolean應(yīng)用級的調(diào)試開關(guān),通??蓮呐渲米x取,暫時框架未用到
_formatterArrayPhalApi_Request_Formatter_Array數(shù)組格式化服務(wù)(系統(tǒng)內(nèi)部使用)
_formatterBooleanPhalApi_Request_Formatter_Boolean布爾值格式化服務(wù)(系統(tǒng)內(nèi)部使用)
_formatterCallablePhalApi_Request_Formatter_Callable回調(diào)格式化服務(wù)(系統(tǒng)內(nèi)部使用)
_formatterDatePhalApi_Request_Formatter_Date日期格式化服務(wù)(系統(tǒng)內(nèi)部使用)
_formatterEnumPhalApi_Request_Formatter_Enum枚舉格式化服務(wù)(系統(tǒng)內(nèi)部使用)
_formatterFilePhalApi_Request_Formatter_File上傳文件格式化服務(wù)(系統(tǒng)內(nèi)部使用)
_formatterFloatPhalApi_Request_Formatter_Float浮點(diǎn)數(shù)格式化服務(wù)(系統(tǒng)內(nèi)部使用)
_formatterIntPhalApi_Request_Formatter_Int整數(shù)格式化服務(wù)(系統(tǒng)內(nèi)部使用)
_formatterStringPhalApi_Request_Formatter_String字符串格式化服務(wù)(系統(tǒng)內(nèi)部使用)

1.19.2 DI服務(wù)是否已注冊的判斷誤區(qū)

(1)錯誤的判斷方法

當(dāng)需要判斷一個DI服務(wù)是否已被注冊,出于常識會這樣判斷:

if (isset(DI()->cache)) {

但這樣的判斷永遠(yuǎn)為false,不管注冊與否。

追其原因在于,DI類使用了魔法方法的方式來提供類成員屬性,并存放于PhalApi_DI::$data中。

這就導(dǎo)致了如果直接使用isset(DI()->cache)的話,首先不會觸發(fā)魔法方法 PhalApi_DI::__get($name)的調(diào)用,其次也確實(shí)沒有PhalApi_DI::$cache這個成員屬性,最終判斷是否存在時都為false。

簡單來說,以下兩種判斷,永遠(yuǎn)都為false:

//永遠(yuǎn)為false
var_dump(isset(DI()->XXX));
var_dump(!empty(DI()->XXX));

(2)正確判斷的寫法:先獲取,再判斷

正確的用法應(yīng)該是:

//先獲取,再判斷
$XXX = DI()->XXX;
var_dump(isset($XXX));
var_dump(!empty($XXX));

這里,可能會對大家?guī)硪欢ǖ睦Щ?,所以在這里特別進(jìn)行說明。也對框架中這一點(diǎn)不合理的設(shè)計(jì)深感抱歉。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號