搜尋
首頁php框架ThinkPHPThinkPHP容器之Countable巧用

ThinkPHP容器之Countable巧用

Oct 12, 2020 pm 12:29 PM
thinkphp

本文將解釋一個冷門的知識點,如果不去看原始碼時根本不會了解的一個知識點,那就是countTable的使用。

六、Container容器類別剖析之Countable巧用

##關於Countable這塊內容一直沒想好是否是文章的形式寫出展現給大家,但是在後期閱讀源碼時大量的出現了Countable的應用。

為了大家能看懂每一個技術點,咔咔還是寫了出來。

這個知識點只是為了給大家展示一下怎麼用,在後文中會提到跟count的關聯。

在檔案

thinkphp/library/think/Container.php中,就可以直接看到使用了Countable接口,實作了它!

ThinkPHP容器之Countable巧用在這裡插入圖片描述
來到

Countable這介面中,我們只能看到一個方法就是count() .

根據程式碼中

Count elements of an object這行註解可以了解到,這個介面是計算物件的元素

在看原始碼的過程中我們需要對其註解先看一遍,即使不會英文那也有翻譯軟體呢!會給你更好的理解。

ThinkPHP容器之Countable巧用根據PHP文件的說明在深入了解。

文件說明當你執行count()方法時就等於在執行上邊的abstract public Countable::count ( void ) : int抽象方法。

ThinkPHP容器之Countable巧用實戰案例

光說不幹,事事落空;又說又乾,馬到成功。直接開乾

新檔案kaka/container/countableTest.php,並且加入以下內容

ThinkPHP容器之Countable巧用接著在檔案application/index/controller/ Container.php中學會使用Countable。

這裡注意一下用法,是直接使用count();

ThinkPHP容器之Countable巧用ThinkPHP容器之Countable巧用

#Countable中的count()跟平常使用count( )方法有什麼差別

順便來看看PHP原始碼中的解釋

可以看到第一個參數可以是陣列也可是是countable

咔咔的理解是Countable只是重寫了SPL中的count方法,為了就是方便自訂自己需要的統計規則而已。

<span style="display: block; background: url(https://my-wechat.mdnice.com/point.png); height: 30px; width: 100%; background-size: 40px; background-repeat: no-repeat; background-color: #282c34; margin-bottom: -7px; border-radius: 5px; background-position: 10px 10px;"></span><code class="hljs" style="overflow-x: auto; padding: 16px; color: #abb2bf; display: -webkit-box; font-family: Operator Mono, Consolas, Monaco, Menlo, monospace; font-size: 12px; -webkit-overflow-scrolling: touch; padding-top: 15px; background: #282c34; border-radius: 5px;">int count ( mixed <span class="hljs-variable" style="color: #d19a66; line-height: 26px;">$array_or_countable</span> [, int <span class="hljs-variable" style="color: #d19a66; line-height: 26px;">$mode</span> = COUNT_NORMAL ] )<br/></code>

接下來就是針對框架裡邊的容器進行剖析,一步一步的追溯到根源。

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

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

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

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

Dreamweaver Mac版

Dreamweaver Mac版

視覺化網頁開發工具