目录

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