SPL は、標準的な問題を解決するために使用されるインターフェイスとクラスのコレクションです。
この拡張機能は PHP 5.0 以降でのみ使用でき、PHP 5.3.0 以降は閉じられなくなり、常に有効になり、PHP カーネル コンポーネントの一部になります。
データ構造
SPL は、一連の標準データ構造を提供します。
Double Linked List
Double Linked List (DLL) は、相互に両方向にリンクされたノードのリストであり、基礎となるノードの場合、反復子の操作、両端へのアクセス、ノードの追加または削除に O(1) のコストがかかります。構造は DLL であるため、スタックとキューに適切な実装が提供されます。
SplDoublyLinkedList
SplStack
SplQueue
ヒープは、ヒープ プロパティに従うツリー状の構造です。各ノードはその Don 以上です。 PHP 配列と混同しないでください。PHP 配列は、実際には、順序付けされたハッシュテーブルとして実装されます。
SplFixedArray
map
マップは、PHP 配列は、キーと値のペアを保持するデータ構造であり、整数/文字列から値へのマップとして見ることができます。 SPL はオブジェクトからデータへのマップを提供します。このマップはオブジェクト セットとしても使用できます。
ArrayIterator
RecursiveArrayIterator
EmptyIterator
IteratorIterator
CallbackFilterIterator
RecursiveFilterIterator
RegexIterator
RecursiveCallbackF ilterIterator
ParentIterator
RecursiveRegexIterator
RecursiveCachingIterator
AppendIterator
CachingIterator
FilterIterator
InfiniteIterator
LimitIterator
NoRewindIterator
MultipleIterator
RecursiveIteratorIterator
RecursiveTreeIterator
DirectoryIterator (SplFileInfoを拡張)
GlobIterator
RecursiveDirectoryIterator
FilesystemIterator
インターフェース
SPL は一連のインターフェースを提供します。
Countable
OuterIterator
RecursiveIterator
SeekableIterator
SplObserver
SplSubject
Exceptions
SPL は、一連の標準例外を提供します。
LogicException(例外を拡張)
BadMethodCallException
BadFunctionCallException
DomainException
InvalidArgumentException
LengthException
OutOfRangeException
ランタイム例外(例外を拡張) )
OutOfBoundsException
OverflowException
RangeException
UnderflowException
UnexpectedValueException
SPL 関数
class_implements — 指定されたクラスによって実装されたすべてのインターフェイスを返します。
class_parents — 指定されたクラスの親クラスを返します。
class_uses — 指定されたクラスで使用される特性を返します
iterator_apply — イテレータ内の各要素に対してユーザー定義関数を呼び出します
iterator_count — イテレータ内の要素の数をカウントします
iterator_to_array — イテレータ内の要素を置き換えます要素は配列にコピーされます
spl_autoload_call — 登録されているすべての __autoload() 関数を呼び出して、要求されたクラスをロードします
spl_autoload_extensions — spl_autoload 関数で使用されるデフォルトのファイル拡張子を登録して返します。
spl_autoload_functions — 登録されているすべての __autoload() 関数を返します。
spl_autoload_register — __autoload() 関数を登録します
spl_autoload_unregister — 登録された __autoload() 関数の登録を解除します
spl_autoload — __autoload() 関数のデフォルトの実装
spl_classes — 使用可能なすべての SPL クラスを返します
spl_ object_hash —を返します指定されたオブジェクト ハッシュ ID
ファイル処理
SPL は、いくつかのファイル関連のクラスを提供します。
SplFileInfo
SplFileObject
SplTempFileObject
その他のクラスとインターフェース
ArrayObject
SplObserver
SplSubject