PHP函数参考16-SPL初识
目录
php标准库,为了完全转向面向对象,比提供一些更高级的使用方法,php封装了一些类或接口,比如数据结构的实现、迭代器、接口、异常、文件系统等,甚至提供观察者模式的一些方法封装。
数据结构
-
SplDoublyLinkedList类,提供了双链表的主要功能
-
SplStack类,通过使用一个双向链表来提供栈的主要功能
-
SplQueue类,通过使用一个双向链表来提供队列的主要功能
-
SplHeap类,提供了堆的主要功能
-
SplMaxHeap类,提供了堆的主要功能,将最大的堆放在最上面
-
SplMinHeap类,提供了堆的主要功能,在堆顶部保持最小值
-
SplPriorityQueue类,提供了优先化队列的主要功能,使用最大堆实现
-
SplFixedArray — The SplFixedArray class
SplFixedArray类提供了array的主要功能。SplFixedArray和普通PHP数组的主要区别是,SplFixedArray的长度固定,只允许整数作为索引。它的优点是比标准数组使用更少的内存。
-
SplObjectStorage — The SplObjectStorage class
SplObjectStorage类提供了一个从对象到数据的映射,或者通过忽略数据,提供一个对象集。在许多需要唯一标识对象的情况下,这两个目的都很有用。
接口
- Countable — 类实现 Countable 可被用于 count() 函数.
- OuterIterator — 实现OuterIterator的类可用于迭代迭代器。
- RecursiveIterator — 实现RecursiveIterator的类可用于递归地迭代迭代器。
- SeekableIterator — The SeekableIterator interface
异常
- BadFunctionCallException — The BadFunctionCallException class
- BadMethodCallException — The BadMethodCallException class
- DomainException — The DomainException class
- InvalidArgumentException — The InvalidArgumentException class
- LengthException — The LengthException class
- LogicException — The LogicException class
- OutOfBoundsException — The OutOfBoundsException class
- OutOfRangeException — The OutOfRangeException class
- OverflowException — The OverflowException class
- RangeException — The RangeException class
- RuntimeException — The RuntimeException class
- UnderflowException — The UnderflowException class
- UnexpectedValueException — The UnexpectedValueException class
SPL 函数
- class_implements — 返回指定的类实现的所有接口。
- class_parents — 返回指定类的父类。
- class_uses — Return the traits used by the given class
- 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 — 返回指定对象的hash id
- spl_object_id — Return the integer object handle for given object
文件处理
- SplFileInfo类,为单个文件的信息提供了一个高级的面向对象的接口。
- SplFileObject类,为文件提供了一个面向对象接口
- SplTempFileObject类,为临时文件提供了一个面向对象的接口
各种类及接口
- ArrayObject — 这个类允许对象像数组一样工作。
- SplObserver — SplObserver接口与SplSubject一起用于实现观察者设计模式。
- SplSubject — SplSubject接口与SplObserver一起使用,以实现观察者设计模式。
迭代器
- AppendIterator — The AppendIterator class
- ArrayIterator — ArrayIterator 类
- CachingIterator — The CachingIterator class
- CallbackFilterIterator — The CallbackFilterIterator class
- DirectoryIterator — The DirectoryIterator class
- EmptyIterator — The EmptyIterator class
- FilesystemIterator — The FilesystemIterator class
- FilterIterator — The FilterIterator class
- GlobIterator — The GlobIterator class
- InfiniteIterator — The InfiniteIterator class
- IteratorIterator — The IteratorIterator class
- LimitIterator — The LimitIterator class
- MultipleIterator — The MultipleIterator class
- NoRewindIterator — The NoRewindIterator class
- ParentIterator — The ParentIterator class
- RecursiveArrayIterator — The RecursiveArrayIterator class
- RecursiveCachingIterator — The RecursiveCachingIterator class
- RecursiveCallbackFilterIterator — The RecursiveCallbackFilterIterator class
- RecursiveDirectoryIterator — The RecursiveDirectoryIterator class
- RecursiveFilterIterator — The RecursiveFilterIterator class
- RecursiveIteratorIterator — The RecursiveIteratorIterator class
- RecursiveRegexIterator — The RecursiveRegexIterator class
- RecursiveTreeIterator — The RecursiveTreeIterator class
- RegexIterator — The RegexIterator class