首頁  >  文章  >  php框架  >  ThinkPHP之學習使用ArrayAccess

ThinkPHP之學習使用ArrayAccess

咔咔
咔咔原創
2020-10-08 16:34:121459瀏覽

在上期聊了ThinkPHP類的自動加載,如你還不太了解可以跟這下文鏈接去進行查看。本文會帶你一起解讀ThinkPHP設定檔。

在檔案thinkphp/library/think/Config.php,類別Config實作了一個介面為ArrayAccess

這時候你是不是有疑問了,這個類別到底是幹嘛的,為什麼要去了解和學習它!帶著這個疑問繼續往下探尋答案吧!

到這個介面裡邊一探究竟。

在這個介面裡邊有四個介面需要實作分別為

  • offsetExists  偵測偏移位置是否存在
  • offgetGet取得一個偏移位置的值
  • offsetSet   設定一個偏移位置的值
  • offsetUnset  刪除一個偏移位置的值

ThinkPHP之學習使用ArrayAccess這幾個函數放到這是不是有點懵!別急,這就給你解答

這幾個方法在Config中也進行實現,但是裡邊使用了幾個方法,根據上邊對方法的作用說明後。

像set、has、remove、get想想大家就知道是什麼意思了。

ThinkPHP之學習使用ArrayAccess
在這裡插入圖片描述

接下來,咱們自己來實現這個類,給大家示範一下這個類別用處到底是什麼。 ArrayAccess這個類別不只是TP大量使用,在laravel也是大量存在,所以需要好好學習這個類別的功能和想法。

需要在kaka目錄下建立一個文件TestArrayAccess文件,並且設定一個屬性,在實作ArrayAccess類別。

至於我自己建立的這個資料夾kaka為什麼會執行自動載入就是上一期在類別的自動載入中實現的。

如若不會的話可以先把檔案放在extend目錄下即可。

ThinkPHP之學習使用ArrayAccess接著來到application/index/controller/Index.php控制器使用上圖實作的方法

ThinkPHP之學習使用ArrayAccess
在這裡插入圖片描述

列印結果ThinkPHP之學習使用ArrayAccess這裡在使用offsetGet列印的結果為kaka應該都明白怎麼回事了吧!其餘兩個方法就不去示範了,相信你也已經明白了。

所以說這個ArrayAccess類別就是提供像存取陣列一樣存取物件的介面

堅持學習、堅持寫博、堅持分享是咔咔從業以來一直所秉持的信念。希望在偌大互聯網中咔咔的文章能帶給你一絲絲幫助。我是喀喀,下期見。

#

以上是ThinkPHP之學習使用ArrayAccess的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn