1、樣品,spl是SAMPLE的縮寫,通常指的是樣品,有時(shí)也有成SMPL。
2、SPL有以下接口(10大接口)1.ArrayAccess其功能是使類可以像PHP中的數(shù)組一樣操作。
(資料圖片)
3、有點(diǎn)類似于.net平臺(tái)的index操作。
4、2.Traversable是Zend引擎的內(nèi)置接口,它是能讓類用于foreach語(yǔ)句的接口,但是在PHP中并不能直接實(shí)現(xiàn)Traversable。
5、只能間接地通過(guò)Iterator或IteratorAggregate接口實(shí)現(xiàn)。
6、3.IteratorAggregate(繼承Traversable,是他的兒子)是除Iterator之外另一個(gè)從Traversable接口中繼承而來(lái)的。
7、其接口也很簡(jiǎn)單,只有一個(gè)函數(shù)。
8、就是返回一個(gè)迭代器實(shí)例。
9、4.Iterator(也是繼承Traversable,是他的兒子),SPL中大部分接口和類都是從這個(gè)接口繼承而來(lái)的。
10、5.RecursiveIterator(繼承Iterator,為Traversable的孫子),遞歸迭代器,通過(guò)hasChildren()和getChildren()兩個(gè)函數(shù)實(shí)現(xiàn)遞歸遍歷子元素。
11、6.Countable這接口就一個(gè)count()函數(shù),返回結(jié)果集的數(shù)量。
12、實(shí)現(xiàn)這個(gè)接口的類可以用count()函數(shù)查詢其結(jié)果集。
13、7.Serializable該接口實(shí)現(xiàn)序列化和反序列化的接口。
14、在沒(méi)有SPL之前,可以通過(guò)__sleep()和__wakeup()實(shí)現(xiàn)相同的功能,若同時(shí)實(shí)現(xiàn)了Serializable接口和_sleep()和__wakeup(),則只有Serializable接口的函數(shù)啟作用。
15、8.SplObserverObserver觀察者模式的中的觀察者。
16、9.SplSubjectObserver觀察者模式的中的發(fā)布者。
17、***.outeriterator它的實(shí)現(xiàn)者可以包含一個(gè)或多個(gè)迭代器成員,即可以通過(guò)。
本文到此分享完畢,希望對(duì)大家有所幫助。