99re热这里只有精品视频,7777色鬼xxxx欧美色妇,国产成人精品一区二三区在线观看,内射爽无广熟女亚洲,精品人妻av一区二区三区

DI服務速查:各資源服務一覽表

2018-11-21 21:15 更新

“完成,好過完美?!? -- 臉譜書文化之一

1.19.1 一覽表

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

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

(1)錯誤的判斷方法

當需要判斷一個DI服務是否已被注冊,出于常識會這樣判斷:

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

但這樣的判斷永遠為false,不管注冊與否。

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

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

簡單來說,以下兩種判斷,永遠都為false:

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

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

正確的用法應該是:

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

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

以上內容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號