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