「本文將解釋一個冷門的知識點,如果不去看原始碼時根本不會了解的一個知識點,那就是countTable的使用。
」
thinkphp/library/think/Container.php中,就可以直接看到使用了Countable接口,實作了它!
Countable這介面中,我們只能看到一個方法就是count() .
Count elements of an object這行註解可以了解到,這個介面是計算物件的元素
在看原始碼的過程中我們需要對其註解先看一遍,即使不會英文那也有翻譯軟體呢!會給你更好的理解。
根據PHP文件的說明在深入了解。
文件說明當你執行count()方法時就等於在執行上邊的abstract public Countable::count ( void ) : int
抽象方法。
實戰案例
光說不幹,事事落空;又說又乾,馬到成功。直接開乾
新檔案kaka/container/countableTest.php
,並且加入以下內容
接著在檔案application/index/controller/ Container.php
中學會使用Countable。
這裡注意一下用法,是直接使用count();
#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中文網其他相關文章!