您的位置:首頁技術文章
文章詳情頁

PHP擴展之PHP標準庫(SPL)概述

瀏覽:25日期:2022-09-15 17:44:24

SPL是用于解決典型問題(standard problems)的一組接口與類的集合。

此擴展只能在php 5.0以后使用,并且從PHP 5.3.0 不再被關閉,會一直有效,成為php內核組件一部份。

數據結構

SPL提供了一組標準數據結構。

雙向鏈表

雙向鏈表 (DLL) is a list of nodes linked in both directions to each others. Iterator’s operations, access to both ends, addition or removal of nodes have a cost of O(1) when the underlying structure is a DLL. It hence provides a decent implementation for stacks and queues.

SplDoublyLinkedListSplStackSplQueue

Heaps are tree-like structures that follow the heap-property: each node is greater than or equal to its children, when compared using the implemented compare method which is global to the heap.

SplHeapSplMaxHeapSplMinHeapSplPriorityQueue

陣列

Arrays are structures that store the data in a continuous way, accessible via indexes. Don’t confuse them with PHP arrays: PHP arrays are in fact implemented as ordered hashtables.

SplFixedArray

映射

A map is a datastructure holding key-value pairs. PHP arrays can be seen as maps from integers/strings to values. SPL provides a map from objects to data. This map can also be used as an object set.

SplObjectStorage迭代器

SPL 提供一系列迭代器以遍歷不同的對象。

ArrayIteratorRecursiveArrayIteratorEmptyIteratorIteratorIteratorAppendIteratorCachingIteratorRecursiveCachingIteratorFilterIteratorCallbackFilterIteratorRecursiveCallbackFilterIteratorRecursiveFilterIteratorParentIteratorRegexIteratorRecursiveRegexIteratorInfiniteIteratorLimitIteratorNoRewindIteratorMultipleIteratorRecursiveIteratorIteratorRecursiveTreeIteratorDirectoryIterator?(extends?SplFileInfo)FilesystemIteratorGlobIteratorRecursiveDirectoryIterator接口

SPL 提供一系列接口。

CountableOuterIteratorRecursiveIteratorSeekableIteratorSplObserverSplSubject異常

SPL 提供一系列標準異常。

LogicException?(extends?Exception)BadFunctionCallExceptionBadMethodCallExceptionDomainExceptionInvalidArgumentExceptionLengthExceptionOutOfRangeExceptionRuntimeException?(extends?Exception)OutOfBoundsExceptionOverflowExceptionRangeExceptionUnderflowExceptionUnexpectedValueExceptionSPL函數class_implements?— 返回指定的類實現的所有接口。class_parents?— 返回指定類的父類。class_uses?— Return the traits used by the given classiterator_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 提供 一些與文件相關的類。

SplFileInfoSplFileObjectSplTempFileObject其他類及接口ArrayObjectSplObserverSplSubject
標簽: PHP
相關文章:
国产综合久久一区二区三区