php的spl详解

  • 数据结构

    • SplDoublyLinkedList (双向链表)
      SplDoublyLinkedList::add —在指定的索引处添加/插入新值
      SplDoublyLinkedList::bottom —从双向链表的开头偷看节点
      SplDoublyLinkedList::__ construct —构造一个新的双向链表
      SplDoublyLinkedList::count —计算双向链接列表中的元素数
      SplDoublyLinkedList::current —返回当前数组条目
      SplDoublyLinkedList::getIteratorMode —返回迭代模式
      SplDoublyLinkedList::isEmpty —检查双向链接列表是否为空
      SplDoublyLinkedList::key —返回当前节点索引
      SplDoublyLinkedList::next —移至下一个条目
      SplDoublyLinkedList::offsetExists —返回所请求的$ index是否存在
      SplDoublyLinkedList::offsetGet —返回指定的$ index处的值
      SplDoublyLinkedList::offsetSet —将指定的$ index处的值设置为$ newval
      SplDoublyLinkedList::offsetUnset —取消指定$ index处的值
      SplDoublyLinkedList::pop —从双向链接列表的末尾弹出一个节点
      SplDoublyLinkedList::prev —移至上一个条目
      SplDoublyLinkedList::push —将元素推入双向链接列表的末尾
      SplDoublyLinkedList::rewind —将迭代器倒回开始
      SplDoublyLinkedList::serialize —序列化存储
      SplDoublyLinkedList::setIteratorMode —设置迭代模式
      SplDoublyLinkedList::shift —从双链表的开头移出一个节点
      SplDoublyLinkedList::top —从双向链表末尾窥视节点
      SplDoublyLinkedList::unserialize —反序列化​​存储
      SplDoublyLinkedList::unshift —为双向链接列表添加一个元素
      SplDoublyLinkedList::valid —检查双向链表是否包含更多节点
      
    • SplStack (栈)

        SplStack::__ construct —构造一个使用双链表实现的新堆栈
        SplStack::setIteratorMode —设置迭代模式
      
    • SplQueue (队列)

        SplQueue::__ construct —构造一个使用双链表实现的新队列
        SplQueue::dequeue —使节点从队列中退出
        SplQueue::enqueue —将元素添加到队列
        SplQueue::setIteratorMode —设置迭代模式
      
    • SplHeap (堆)

        SplHeap::compare —比较元素以便在筛选时将它们正确放置在堆中
        SplHeap::__ construct —构造一个新的空堆
        SplHeap::count —计算堆中元素的数量
        SplHeap::current —返回迭代器指向的当前节点
        SplHeap::extract —从堆的顶部提取一个节点并进行筛选
        SplHeap::insert —通过筛选将元素插入堆中
        SplHeap::isCorrupted —告诉堆是否处于损坏状态
        SplHeap::isEmpty —检查堆是否为空
        SplHeap::key —返回当前节点索引
        SplHeap::next —移至下一个节点
        SplHeap::recoverFromCorruption —从损坏的状态中恢复并允许对堆进行进一步的操作
        SplHeap::rewind —将迭代器倒回开始(无操作)
        SplHeap::top —窥视堆顶部的节点
        SplHeap::valid —检查堆是否包含更多节点
      
    • SplMaxHeap (最大堆)

        SplMaxHeap::compare —比较元素以便在筛选时将它们正确放置在堆中
      
    • SplMinHeap (最小堆)

        SplMinHeap::compare —比较元素以便在筛选时将其正确放置在堆中
      
    • SplPriorityQueue (优先级队列)

        SplPriorityQueue::比较—比较优先级以便在筛选时将元素正确放置在堆中
        SplPriorityQueue::__construct —构造一个新的空队列
        SplPriorityQueue::count —计算队列中的元素数
        SplPriorityQueue::current —返回迭代器指向的当前节点
        SplPriorityQueue::extract —从堆顶部提取一个节点并进行筛选
        SplPriorityQueue::getExtractFlags —获取提取标志
        SplPriorityQueue::insert —通过筛选将元素插入队列
        SplPriorityQueue::isCorrupted —告诉优先级队列是否处于损坏状态
        SplPriorityQueue::isEmpty —检查队列是否为空
        SplPriorityQueue::key —返回当前节点索引
        SplPriorityQueue::next —移动到下一个节点
        SplPriorityQueue::recoverFromCorruption —从损坏的状态中恢复并允许对队列进行进一步的操作
        SplPriorityQueue::rewind —将迭代器后退到开始(无操作)
        SplPriorityQueue::setExtractFlags —设置提取模式
        SplPriorityQueue::top —从队列顶部窥视节点
        SplPriorityQueue::valid —检查队列是否包含更多节点
      
    • SplFixedArray (处理数组相关的主要功能)

        SplFixedArray::__ construct —构造一个新的固定数组
        SplFixedArray::count —返回数组的大小
        SplFixedArray::current —返回当前数组条目
        SplFixedArray::fromArray —在SplFixedArray实例中导入PHP数组
        SplFixedArray::getSize —获取数组的大小
        SplFixedArray::key —返回当前数组索引
        SplFixedArray::next —移至下一个条目
        SplFixedArray::offsetExists —返回所请求的索引是否存在
        SplFixedArray::offsetGet —返回指定索引处的值
        SplFixedArray::offsetSet —在指定的索引处设置一个新值
        SplFixedArray::offsetUnset —取消设置指定$ index处的值
        SplFixedArray::rewind —将迭代器倒回开始
        SplFixedArray::setSize —更改数组的大小
        SplFixedArray::toArray —从固定数组返回一个PHP数组
        SplFixedArray::valid —检查数组是否包含更多元素
        SplFixedArray::__ wakeup —在反序列化之后重新初始化数组
      
    • SplObjectStorage (数据结构对象容器)

        SplObjectStorage::addAll —从另一个存储添加所有对象
        SplObjectStorage::attach —在存储中添加一个对象
        SplObjectStorage::contains —检查存储是否包含特定对象
        SplObjectStorage::count —返回存储中的对象数
        SplObjectStorage::current —返回当前的存储条目
        SplObjectStorage::detach —从存储中删除对象
        SplObjectStorage::getHash —计算所包含对象的唯一标识符
        SplObjectStorage::getInfo —返回与当前迭代器条目关联的数据
        SplObjectStorage::key —返回当前迭代器所在的索引
        SplObjectStorage::next —移至下一个条目
        SplObjectStorage::offsetExists —检查存储中是否存在对象
        SplObjectStorage::offsetGet —返回与对象关联的数据
        SplObjectStorage::offsetSet-将数据关联到存储中的对象
        SplObjectStorage::offsetUnset —从存储中删除一个对象
        SplObjectStorage::removeAll —从当前存储中删除另一个存储中包含的对象
        SplObjectStorage::removeAllExcept-从当前存储中删除除另一个存储中包含的对象以外的所有对象
        SplObjectStorage::rewind —将迭代器后退到第一个存储元素
        SplObjectStorage::serialize —序列化存储
        SplObjectStorage::setInfo —设置与当前迭代器条目关联的数据
        SplObjectStorage::unserialize —从其字符串表示形式反序列化存储
        SplObjectStorage::Valid —返回当前迭代器条目是否有效
      
  • 迭代器

    • AppendIterator (陆续遍历几个迭代器)

        AppendIterator::append —附加一个迭代器
        AppendIterator::__ construct —构造一个AppendIterator
        AppendIterator::current —获取当前值
        AppendIterator::getArrayIterator —获取ArrayIterator
        AppendIterator::getInnerIterator —获取内部迭代器
        AppendIterator::getIteratorIndex —获取迭代器的索引
        AppendIterator::key —获取当前密钥
        AppendIterator::next-移至下一个元素
        AppendIterator::rewind —倒退Iterator
        AppendIterator::valid —检查当前元素的有效性
      
    • ArrayIterator (允许在遍历数组和对象时删除和更新值与键)

        ArrayIterator::append —追加元素
        ArrayIterator::asort —按值对数组排序
        ArrayIterator::__ construct —构造一个ArrayIterator
        ArrayIterator::count —计数元素
        ArrayIterator::current —返回当前数组条目
        ArrayIterator::getArrayCopy —获取数组副本
        ArrayIterator::getFlags —获取行为标志
        ArrayIterator::key —返回当前的数组键
        ArrayIterator::ksort —按键对数组排序
        ArrayIterator::natcasesort —自然地对数组排序,不区分大小写
        ArrayIterator::natsort —自然地对数组排序
        ArrayIterator::next —移至下一个条目
        ArrayIterator::offsetExists —检查偏移量是否存在
        ArrayIterator::offsetGet —获取偏移量的值
        ArrayIterator::offsetSet —设置偏移量的值
        ArrayIterator::offsetUnset —偏移量的未设置值
        ArrayIterator::rewind —将数组倒回开始
        ArrayIterator::seek —寻求位置
        ArrayIterator::serialize —序列化
        ArrayIterator::setFlags —设置行为标志
        ArrayIterator::uasort —使用用户定义的比较函数排序并维护索引关联
        ArrayIterator::uksort —使用用户定义的比较功能按键排序
        ArrayIterator::unserialize —反序列化
        ArrayIterator::valid —检查数组是否包含更多条目
      
    • CachingIterator (缓存迭代)

        CachingIterator::__ construct —为迭代器构造一个新的CachingIterator对象
        CachingIterator::count —迭代器中的元素数
        CachingIterator::current —返回当前元素
        CachingIterator::getCache —检索缓存的内容
        CachingIterator::getFlags —获取使用的标志
        CachingIterator::getInnerIterator —返回内部迭代器
        CachingIterator::hasNext —检查内部迭代器是否具有有效的next元素
        CachingIterator::key —返回当前元素的密钥
        CachingIterator::next —向前移动迭代器
        CachingIterator::offsetExists — offsetExists目的
        CachingIterator::offsetGet — offsetGet目的
        CachingIterator::offsetSet — offsetSet的目的
        CachingIterator::offsetUnset — offsetUnset用途
        CachingIterator::rewind —倒退迭代器
        CachingIterator::setFlags — setFlags的目的
        CachingIterator::__ toString —返回当前元素的字符串表示形式
        CachingIterator::valid —检查当前元素是否有效
      
    • CallbackFilterIterator (迭代回调)

        CallbackFilterIterator::accept —以当前值,当前键和内部迭代器作为参数调用回调
        CallbackFilterIterator::__ construct —从另一个迭代器创建一个过滤的迭代器
      
    • DirectoryIterator (查看文件系统目录内容)

        DirectoryIterator::__ construct —从路径构造一个新的目录迭代器
        DirectoryIterator::current —返回当前的DirectoryIterator项
        DirectoryIterator::getATime —获取当前DirectoryIterator项的上次访问时间
        DirectoryIterator::getBasename —获取当前DirectoryIterator项的基本名称
        DirectoryIterator::getCTime —获取当前DirectoryIterator项的inode更改时间
        DirectoryIterator::getExtension —获取文件扩展名
        DirectoryIterator::getFilename —返回当前DirectoryIterator项的文件名
        DirectoryIterator::getGroup —获取当前DirectoryIterator项的组
        DirectoryIterator::getInode —获取当前DirectoryIterator项的inode
        DirectoryIterator::getMTim​​e —获取当前DirectoryIterator项的最后修改时间
        DirectoryIterator::getOwner —获取当前DirectoryIterator项的所有者
        DirectoryIterator::getPath —获取没有文件名的当前Iterator项的路径
        DirectoryIterator::getPathname —当前DirectoryIterator项的返回路径和文件名
        DirectoryIterator::getPerms —获取当前DirectoryIterator项的权限
        DirectoryIterator::getSize —获取当前DirectoryIterator项的大小
        DirectoryIterator::getType —确定当前DirectoryIterator项的类型
        DirectoryIterator::isDir —确定当前DirectoryIterator项是否为目录
        DirectoryIterator::isDot —确定当前DirectoryIterator项是否为'。要么 '..'
        DirectoryIterator::isExecutable —确定当前DirectoryIterator项是否可执行
        DirectoryIterator::isFile —确定当前DirectoryIterator项是否为常规文件
        DirectoryIterator::isLink —确定当前DirectoryIterator项是否是符号链接
        DirectoryIterator::isReadable —确定是否可以读取当前的DirectoryIterator项
        DirectoryIterator::isWritable —确定是否可以将当前DirectoryIterator项写入
        DirectoryIterator::key —返回当前DirectoryIterator项的密钥
        DirectoryIterator::next-前进到下一个DirectoryIterator项
        DirectoryIterator::rewind —将DirectoryIterator倒回开始
        DirectoryIterator::seek —寻求DirectoryIterator项
        DirectoryIterator::__ toString —以字符串形式获取文件名
        DirectoryIterator::valid —检查当前DirectoryIterator位置是否为有效文件
      
    • EmptyIterator (空迭代器)

        EmptyIterator::current — current()方法
        EmptyIterator::key — key()方法
        EmptyIterator::next — next()方法
        EmptyIterator::rewind — rewind()方法
        EmptyIterator::valid —valid()方法
      
    • FilesystemIterator (文件系统迭代器)

        FilesystemIterator::__ construct —构造一个新的文件系统迭代器
        FilesystemIterator::current —当前文件
        FilesystemIterator::getFlags —获取处理标志
        FilesystemIterator::key —检索当前文件的密钥
        FilesystemIterator::next-移至下一个文件
        FilesystemIterator::rewind —回溯到开头
        FilesystemIterator::setFlags —设置处理标志
      
    • FilterIterator ()

        FilterIterator::accept —检查迭代器的当前元素是否可接受
        FilterIterator::__ construct —构造一个filterIterator
        FilterIterator::current —获取当前元素值
        FilterIterator::getInnerIterator —获取内部迭代器
        FilterIterator::key —获取当前密钥
        FilterIterator::next —向前移动迭代器
        FilterIterator::rewind —倒退迭代器
        FilterIterator::valid —检查当前元素是否有效
      
    • GlobIterator (遍历一个文件系统行为)

        GlobIterator::__ construct —使用glob构造目录
        GlobIterator::count —获取目录和文件的数量
      
    • InfiniteIterator (无限迭代)

        InfiniteIterator::__ construct —构造一个InfiniteIterator
        InfiniteIterator::next-将内部Iterator向前或向后移动
      
    • IteratorIterator (将可遍历的任何内容转换为迭代器)

        IteratorIterator::__ construct —从任何可遍历的东西创建一个迭代器
        IteratorIterator::current —获取当前值
        IteratorIterator::getInnerIterator —获取内部迭代器
        IteratorIterator::key —获取当前元素的键
        IteratorIterator::next —转发到下一个元素
        IteratorIterator::rewind —倒退到第一个元素
        IteratorIterator::valid —检查迭代器是否有效
      
  • LimitIterator (遍历一个 Iterator 的限定子集的元素)

      LimitIterator::__ construct —构造一个LimitIterator
      LimitIterator::current —获取当前元素
      LimitIterator::getInnerIterator —获取内部迭代器
      LimitIterator::getPosition —返回当前位置
      LimitIterator::key —获取当前键
      LimitIterator::next —向前移动迭代器
      LimitIterator::rewind —将迭代器后退到指定的起始偏移量
      LimitIterator::seek —寻求给定位置
      LimitIterator::valid —检查当前元素是否有效
    
  • MultipleIterator (依次迭代所有附加迭代器的迭代器)

      MultipleIterator::attachIterator —附加迭代器信息
      MultipleIterator::__ construct —构造一个新的MultipleIterator
      MultipleIterator::containsIterator —检查是否附加了迭代器
      MultipleIterator::countIterators —获取附加的迭代器实例的数量
      MultipleIterator::current —获取注册的迭代器实例
      MultipleIterator::detachIterator —分离迭代器
      MultipleIterator::getFlags —获取标志信息
      MultipleIterator::key —获取注册的迭代器实例
      MultipleIterator::next-将所有附加的迭代器实例向前移动
      MultipleIterator::rewind —倒退所有附加的迭代器实例
      MultipleIterator::setFlags —设置标志
      MultipleIterator::valid —检查子迭代器的有效性
    
  • NoRewindIterator (多个局部foreach循环中处理迭代器)

      NoRewindIterator::__ construct —构造一个NoRewindIterator
      NoRewindIterator::current —获取当前值
      NoRewindIterator::getInnerIterator —获取内部迭代器
      NoRewindIterator::key —获取当前密钥
      NoRewindIterator::next —转发到下一个元素
      NoRewindIterator::rewind —防止在内部迭代器上进行倒带操作
      NoRewindIterator::valid —验证迭代器
    
  • ParentIterator (使用RecursiveIteratorIterator进行递归迭代)

      ParentIterator::accept —确定可接受性
      ParentIterator::__ construct —构造一个ParentIterator
      ParentIterator::getChildren —返回ParentIterator中包含的内部迭代器的子代
      ParentIterator::hasChildren —检查内部迭代器的当前元素是否有子代
      ParentIterator::next-向前移动迭代器
      ParentIterator::rewind —倒退迭代器
    
  • RecursiveArrayIterator (遍历Array和Object时取消设置和修改值和键)

      RecursiveArrayIterator::getChildren —返回当前项的迭代器(如果它是数组或对象)
      RecursiveArrayIterator::hasChildren —返回当前条目是数组还是对象
    
  • RecursiveCachingIterator ()

      RecursiveCachingIterator::__ construct —构造
      RecursiveCachingIterator::getChildren —将内部迭代器的子级作为RecursiveCachingIterator返回
      RecursiveCachingIterator::hasChildren —检查内部迭代器的当前元素是否有子代
    
  • RecursiveCallbackFilterIterator ()

      RecursiveCallbackFilterIterator::__ construct —从RecursiveIterator创建一个RecursiveCallbackFilterIterator
      RecursiveCallbackFilterIterator::getChildren —返回包含在RecursiveCallbackFilterIterator中的内部迭代器的子级
      RecursiveCallbackFilterIterator::hasChildren —检查内部迭代器的当前元素是否有子代
    
  • RecursiveDirectoryIterator (在文件系统目录上进行递归迭代的接口)

      RecursiveDirectoryIterator::__ construct —构造一个RecursiveDirectoryIterator
      RecursiveDirectoryIterator::getChildren —返回当前条目的迭代器(如果它是目录)
      RecursiveDirectoryIterator::getSubPath —获取子路径
      RecursiveDirectoryIterator::getSubPathname —获取子路径和名称
      RecursiveDirectoryIterator::hasChildren —返回当前条目是否是目录,而不是'。 要么 '..'
      RecursiveDirectoryIterator::key —当前目录条目的返回路径和文件名
      RecursiveDirectoryIterator::next —移至下一个条目
      RecursiveDirectoryIterator::rewind —将目录倒回开始
    
  • RecursiveFilterIterator (自定义过滤器/必须在子类中实现)

      RecursiveFilterIterator::__ construct —从RecursiveIterator创建一个RecursiveFilterIterator
      RecursiveFilterIterator::getChildren —返回RecursiveFilterIterator中包含的内部迭代器的子代
      RecursiveFilterIterator::hasChildren —检查内部迭代器的当前元素是否有子代
    
  • RecursiveIteratorIterator (通过递归迭代器进行迭代)

      RecursiveIteratorIterator::beginChildren —开始子级
      RecursiveIteratorIterator::beginIteration —开始迭代
      RecursiveIteratorIterator::callGetChildren —获取孩子
      RecursiveIteratorIterator::callHasChildren —有孩子
      RecursiveIteratorIterator::__ construct —构造一个RecursiveIteratorIterator
      RecursiveIteratorIterator::current —访问当前元素值
      RecursiveIteratorIterator::endChildren —结束子级
      RecursiveIteratorIterator::endIteration —结束迭代
      RecursiveIteratorIterator::getDepth —获取递归迭代的当前深度
      RecursiveIteratorIterator::getInnerIterator —获取内部迭代器
      RecursiveIteratorIterator::getMaxDepth —获取最大深度
      RecursiveIteratorIterator::getSubIterator —当前的活动子迭代器
      RecursiveIteratorIterator::key —访问当前密钥
      RecursiveIteratorIterator::next —移至下一个元素
      RecursiveIteratorIterator::nextElement —下一个元素
      RecursiveIteratorIterator::rewind —将迭代器后退到顶级内部迭代器的第一个元素
      RecursiveIteratorIterator::setMaxDepth —设置最大深度
      RecursiveIteratorIterator::valid —检查当前位置是否有效
    
  • RecursiveRegexIterator (通过正则表达式过滤另一个递归迭代器)

      RecursiveRegexIterator::__ construct —创建一个新的RecursiveRegexIterator
      RecursiveRegexIterator::getChildren —返回当前条目的迭代器
      RecursiveRegexIterator::hasChildren —返回是否可以为当前条目获取迭代器
    
  • RecursiveTreeIterator (允许在RecursiveIterator上进行迭代以生成ASCII图形树)

      RecursiveTreeIterator::beginChildren —开始子级
      RecursiveTreeIterator::beginIteration —开始迭代
      RecursiveTreeIterator::callGetChildren —获取孩子
      RecursiveTreeIterator::callHasChildren —有孩子
      RecursiveTreeIterator::__ construct —构造一个RecursiveTreeIterator
      RecursiveTreeIterator::current —获取当前元素
      RecursiveTreeIterator::endChildren —结束子级
      RecursiveTreeIterator::endIteration —结束迭代
      RecursiveTreeIterator::getEntry —获取当前条目
      RecursiveTreeIterator::getPostfix —获取后缀
      RecursiveTreeIterator::getPrefix —获取前缀
      RecursiveTreeIterator::key —获取当前元素的键
      RecursiveTreeIterator::next —移至下一个元素
      RecursiveTreeIterator::nextElement —下一个元素
      RecursiveTreeIterator::rewind —倒退迭代器
      RecursiveTreeIterator::setPostfix —设置后缀
      RecursiveTreeIterator::setPrefixPart —设置前缀的一部分
      RecursiveTreeIterator::valid —检查有效性
    
  • RegexIterator (基于正则表达式过滤另一个迭代器)

      RegexIterator::accept —获取接受状态
      RegexIterator::__ construct —创建一个新的RegexIterator
      RegexIterator::getFlags —获取标志
      RegexIterator::getMode —返回操作模式
      RegexIterator::getPregFlags —返回正则表达式标志
      RegexIterator::getRegex —返回当前的正则表达式
      RegexIterator::setFlags —设置标志
      RegexIterator::setMode-设置操作模式
      RegexIterator::setPregFlags —设置正则表达式标志
    
  • 接口

    • Countable (验证变量的内容是可计数的值)

        Countable::count — 统计一个对象的元素个数
      
    • OuterIterator (迭代迭代器)

        OuterIterator::getInnerIterator —返回当前条目的内部迭代器
      
    • RecursiveIterator (递归迭代迭代器)

      RecursiveIterator::getChildren —返回当前条目的迭代器
      RecursiveIterator::hasChildren —返回是否可以为当前条目创建迭代器
      
    • SeekableIterator ()

  • 异常

    • BadFunctionCallException (如果回调引用未定义的函数或缺少某些参数,则抛出异常)
    • BadMethodCallException (当一个回调方法是一个未定义的方法或缺失一些参数时会抛出该异常)
    • DomainException (如果值不遵循定义的有效数据域,则抛出异常)
    • InvalidArgumentException (如果参数不是期望的类型,则抛出异常)
    • LengthException (如果长度无效,则抛出异常)
    • LogicException (表示程序逻辑错误的异常。 这种异常应直接导致代码中的修复)
    • OutOfBoundsException (如果值不是有效键,则抛出异常。 这表示在编译时无法检测到的错误)
    • OutOfRangeException (请求非法索引时引发异常)
    • OverflowException (将元素添加到完整容器中时引发异常)
    • RangeException (引发异常以指示程序执行期间的范围错误。通常,这意味着除下溢/上溢外还存在算术错误。)
    • RuntimeException (如果发生仅在运行时才能发现的错误,则引发异常。)
    • UnderflowException (对空容器执行无效操作(例如删除元素)时引发的异常。)
    • UnexpectedValueException (如果一个值与一组值不匹配,则抛出异常。通常,当一个函数调用另一个函数并期望返回值是某种类型或不包括与算术或缓冲区相关的错误的值时,就会发生这种情况。)
  • SPL函数

  • 文件处理

    • SplFileInfo (单个文件的信息提供了一个高级的面向对象的接口)

      • SplFileInfo::__ construct —构造一个新的SplFileInfo对象
      • SplFileInfo::getATime —获取文件的最后访问时间
      • SplFileInfo::getBasename —获取文件的基本名称
      • SplFileInfo::getCTime —获取文件inode修改时间
      • SplFileInfo::getExtension —获取文件扩展名
      • SplFileInfo::getFileInfo —获取文件的SplFileInfo对象
      • SplFileInfo::getFilename —获取文件名
      • SplFileInfo::getGroup —获取文件组
      • SplFileInfo::getInode —获取文件的索引节点
      • SplFileInfo::getLinkTarget —获取链接的目标
      • SplFileInfo::getMTim​​e —获取上次修改时间
      • SplFileInfo::getOwner —获取文件的所有者
      • SplFileInfo::getPath —获取不带文件名的路径
      • SplFileInfo::getPathInfo —获取路径的SplFileInfo对象
      • SplFileInfo::getPathname —获取文件的路径
      • SplFileInfo::getPerms —获取文件权限
      • SplFileInfo::getRealPath —获取文件的绝对路径
      • SplFileInfo::getSize —获取文件大小
      • SplFileInfo::getType —获取文件类型
      • SplFileInfo::isDir —判断文件是否为目录
      • SplFileInfo::isExecutable —告诉文件是否可执行
      • SplFileInfo::isFile —告诉对象是否引用常规文件
      • SplFileInfo::isLink —告诉文件是否是链接
      • SplFileInfo::isReadable —告诉文件是否可读
      • SplFileInfo::isWritable —告诉条目是否可写
      • SplFileInfo::openFile —获取文件的SplFileObject对象
      • SplFileInfo::setFileClass —设置与SplFileInfo::openFile一起使用的类
      • SplFileInfo::setInfoClass —设置与SplFileInfo::getFileInfo和SplFileInfo::getPathInfo一起使用的类
      • SplFileInfo::__ toString —以字符串形式返回文件的路径
    • SplFileObject (为文件提供了一个面向对象接口)

      • SplFileObject::__construct —构造一个新的文件对象
      • SplFileObject::current —检索文件的当前行
      • SplFileObject::eof —文件结尾
      • SplFileObject::fflush —将输出刷新到文件
      • SplFileObject::fgetc —从文件中获取字符
      • SplFileObject::fgetcsv —从文件中获取行并将其解析为CSV字段
      • SplFileObject::fgets —从文件中获取行
      • SplFileObject::fgetss —从文件和条带HTML标签获取行
      • SplFileObject::flock —便携式文件锁定
      • SplFileObject::fpassthru —在文件指针上输出所有剩余数据
      • SplFileObject::fputcsv —将字段数组写为CSV行
      • SplFileObject::fread —从文件读取
      • SplFileObject::fscanf —根据格式分析文件中的输入
      • SplFileObject::fseek —寻找位置
      • SplFileObject::fstat —获取有关文件的信息
      • SplFileObject::ftell —返回当前文件位置
      • SplFileObject::ftruncate —将文件截断为给定的长度
      • SplFileObject::fwrite-写入文件
      • SplFileObject::getChildren —无目的
      • SplFileObject::getCsvControl —获取CSV的分隔符,附件和转义符
      • SplFileObject::getCurrentLine — SplFileObject::fgets的别名
      • SplFileObject::getFlags —获取SplFileObject的标志
      • SplFileObject::getMaxLineLen —获取最大行长
      • SplFileObject::hasChildren — SplFileObject没有孩子
      • SplFileObject::key —获取行号
      • SplFileObject::next —阅读下一行
      • SplFileObject::rewind —将文件倒退到第一行
      • SplFileObject::seek —搜寻到指定的行
      • SplFileObject::setCsvControl —设置CSV的分隔符,附件和转义符
      • SplFileObject::setFlags —设置SplFileObject的标志
      • SplFileObject::setMaxLineLen —设置最大行长
      • SplFileObject::__ toString — SplFileObject::fgets的别名
      • SplFileObject::valid —不在EOF
    • SplTempFileObject (为临时文件提供了一个面向对象的接口)

      • SplTempFileObject::__ construct —构造一个新的临时文件对象
  • 各种类及接口

    • ArrayObject (允许对象作为数组)

      • ArrayObject::append —追加新的值作为最后一个元素。
      • ArrayObject::asort —按值对条目进行排序
      • ArrayObject::__ construct —构造一个新的数组对象
      • ArrayObject::count —统计ArrayObject内公共属性的数量
      • ArrayObject::exchangeArray —将阵列交换为另一个
      • ArrayObject::getArrayCopy —创建ArrayObject的副本
      • ArrayObject::getFlags —获取行为标志
      • ArrayObject::getIterator —从ArrayObject实例创建一个新的迭代器
      • ArrayObject::getIteratorClass —获取ArrayObject的迭代器类名
      • ArrayObject::ksort —按键对条目进行排序
      • ArrayObject::natcasesort —使用不区分大小写的“自然顺序”算法对数组进行排序
      • ArrayObject::natsort —使用“自然顺序”算法对条目进行排序
      • ArrayObject::offsetExists —返回所请求的索引是否存在
      • ArrayObject::offsetGet —返回指定索引处的值
      • ArrayObject::offsetSet —为指定索引设置新的值
      • ArrayObject::offsetUnset —重置指定索引处的值
      • ArrayObject::serialize —序列化ArrayObject
      • ArrayObject::setFlags —设置行为标志
      • ArrayObject::setIteratorClass —设置ArrayObject的迭代器类名
      • ArrayObject::uasort —使用用户定义的比较函数对条目进行排序并维护键关联
      • ArrayObject::uksort —使用用户定义的比较函数按键对条目进行排序
      • ArrayObject::unserialize —反序列化​​ArrayObject
    • SplObserver (SplObserver接口与SplSubject一起使用以实现观察者设计模式)

      • SplObserver::update —接收主题更新
    • SplSubject (SplSubject接口与SplObserver一起使用以实现观察者设计模式)

      • SplSubject::attach —附加一个SplObserver
      • SplSubject::detach —分离观察者
      • SplSubject::notify —通知观察者