PHP标准库(SPL)

SPL是用于解决典型问题(standard problems)的一组接口与类的集合。
https://www.php.net/manual/zh/book.spl.php

数据结构

SplDoublyLinkedList

SplDoublyLinkedList类提供双向链表的主要功能。

SplStack

SplStack类通过使用一个双向链表来提供栈的主要功能

SplQueue

SplQueue类通过使用一个双向链表来提供队列的主要功能

SplHeap

SplHeap类提供堆的主要功能。

SplMaxHeap

SplMaxHeap类提供堆的主要功能,保持最大值。

SplMinHeap

SplMinHeap类提供堆的主要功能,保持最小值。

SplPriorityQueue

SplPriorityQueue类提供了使用最大堆实现的优先级队列的主要功能。

SplFixedArray

SplFixedArray类提供了数组的主要功能。SplFixedArray和普通PHP数组之间的主要区别在于SplFixedArray具有固定长度,并且仅允许范围内的整数作为索引。优点是它允许更快的阵列实现。

SplObjectStorage

SplObjectStorage类提供从对象到数据的映射,或者通过忽略数据来提供对象集。在涉及唯一标识对象的需要的许多情况下,这种双重目的可能是有用的。

迭代器

AppendIterator

这个迭代器能陆续遍历几个迭代器

ArrayIterator

这个迭代器允许在遍历数组和对象时删除和更新值与键。

CachingIterator

此对象支持对另一个迭代器的缓存迭代。

CallbackFilterIterator

DirectoryIterator

DirectoryIterator类提供了一个用于查看文件系统目录内容的简单界面。

EmptyIterator

空迭代器的EmptyIterator类。

FilesystemIterator

Filesystem迭代器

FilterIterator

这个抽象类的遍历并过滤出不想要的值.这个类应该被实现了迭代过滤器的类继承 FilterIterator::accept()方法必须被子类实现.

GlobIterator

遍历一个文件系统行为类似于 glob().

InfiniteIterator

所述InfiniteIterator允许一个无限迭代的迭代器,而无需在达到其端手动倒带迭代器。

IteratorIterator

这个迭代器包装器允许将任何可遍历的东西转换为 迭代器。重要的是要理解大多数没有实现迭代器的类都有理由,因为它们很可能不允许完整的迭代器功能集。如果是这样,应提供技术以防止误用,否则会出现异常或致命错误。

LimitIterator

LimitIterator类允许遍历一个 Iterator 的限定子集的元素.

MultipleIterator

迭代遍历所有连接迭代器的迭代器

NoRewindIterator

这个迭代器忽略了倒带操作。这允许在多个部分foreach循环中处理迭代器。

ParentIterator

此扩展的FilterIterator允许使用RecursiveIteratorIterator进行递归迭代,该迭代仅显示具有子项的元素。

RecursiveArrayIterator

这个迭代器允许在以与ArrayIterator相同的方式迭代Arrays和Objects时取消设置和修改值和键。另外,可以迭代当前的迭代器条目。

RecursiveCachingIterator

RecursiveCallbackFilterIterator

RecursiveDirectoryIterator

该RecursiveDirectoryIterator提供一个接口,在文件系统的目录遍历递归。

RecursiveFilterIterator

此抽象迭代器过滤掉RecursiveIterator的不需要的值。应该扩展此类以实现自定义筛选器。该RecursiveFilterIterator::accept()方法必须在子类实现。

RecursiveIteratorIterator

可用于迭代递归迭代器。

RecursiveRegexIterator

这个递归迭代器可以通过正则表达式过滤另一个递归迭代器。

RecursiveTreeIterator

允许迭代RecursiveIterator以生成ASCII图形树。

RegexIterator

此迭代器可用于基于正则表达式过滤另一个迭代器。

接口

Countable

类实现 Countable 可被用于 count() 函数.

OuterIterator

实现OuterIterator的类可用于迭代迭代器。

RecursiveIterator

实现RecursiveIterator的类可用于递归迭代迭代器。

SeekableIterator

可读的迭代器。

异常

BadFunctionCallException

如果回调引用未定义的函数或者缺少某些参数,则抛出异常。

BadMethodCallException

当一个回调方法是一个未定义的方法或缺失一些参数时会抛出该异常。

DomainException

如果值不符合定义的有效数据域,则抛出异常。

InvalidArgumentException

如果参数不是预期类型,则抛出异常。

LengthException

如果长度无效,则抛出异常。

LogicException

表示程序逻辑错误的异常。这种异常应直接导致代码中的修复。

OutOfBoundException

如果值不是有效键,则抛出异常。这表示在编译时无法检测到的错误。

OutOfRangeException

请求非法索引时抛出异常。这表示应该在编译时检测到的错误。

OverflowException

将元素添加到完整容器时抛出异常。

RangeException

抛出异常以指示程序执行期间的范围错误。通常这意味着除了/溢出之外还有一个算术错误。这是DomainException的运行时版本 。

RuntimeException

如果发生只能在运行时发现的错误,则抛出异常。

UnderflowException

在空容器上执行无效操作(例如删除元素)时抛出异常。

UnexpectedValueException

如果值与一组值不匹配,则抛出异常。通常,当函数调用另一个函数并且期望返回值是某个类型或值(不包括算术或缓冲区相关的错误)时,会发生这种情况。

SPL函数

class_implements

class_implements — 返回指定的类实现的所有接口。

class_parents

class_parents — 返回指定类的父类。

class_uses

class_uses - 返回给定类使用的特征

iterator_apply

iterator_apply — 为迭代器中每个元素调用一个用户自定义函数

iterator_count

iterator_count — 计算迭代器中元素的个数

iterator_to_array

iterator_to_array — 将迭代器中的元素拷贝到数组

spl_autoload_call

spl_autoload_call — 尝试调用所有已注册的__autoload()函数来装载请求类

spl_autoload_extensions

spl_autoload_extensions — 注册并返回spl_autoload函数使用的默认文件扩展名。

spl_autoload_functions

spl_autoload_functions — 返回所有已注册的__autoload()函数。

spl_autoload_register

spl_autoload_register — 注册给定的函数作为 __autoload 的实现

spl_autoload_unregister

spl_autoload_unregister — 注销已注册的__autoload()函数

spl_autoload

spl_autoload — __autoload()函数的默认实现

spl_classes

spl_classes — 返回所有可用的SPL类

spl_object_hash

spl_object_hash — 返回指定对象的hash id

spl_object_id

此函数返回对象的唯一标识符。对象id在对象的生命周期中是唯一的。一旦对象被销毁,其id可以重用于其他对象。此行为类似于 spl_object_hash()。

文件处理

SplFileInfo

SplFileInfo类为单个文件的信息提供高级面向对象的接口。

SplFileObject

SplFileObject类为文件提供了一个面向对象接口.

SplTempFileObject

SplTempFileObject类为临时文件提供面向对象的接口。

各种类及接口

ArrayObject

该类允许对象作为数组工作。

SplObserver

该SplObserver接口用于一起 SplSubject实现Observer设计模式。

SplSubject

该SplSubject接口用于一起 SplObserver实现Observer设计模式。

Powered by Hexo and Hexo-theme-hiker

Copyright © 2017 - 2023 Keep It Simple And Stupid All Rights Reserved.

访客数 : | 访问量 :