Skip to content

Instantly share code, notes, and snippets.

@tomislacker
Last active June 11, 2020 18:40
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tomislacker/6fb75d4c2034f3a0ca4d to your computer and use it in GitHub Desktop.
Save tomislacker/6fb75d4c2034f3a0ca4d to your computer and use it in GitHub Desktop.
PHP Pre-Defined Classes

PHP Pre-Defined Classes

This gist was something I did quickly in order to see what other built-in exception types I could throw.

PHP Version

PHP 5.4.36-pl0-gentoo (cli) (built: Dec 29 2014 22:12:26) 
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2014 Zend Technologies

Exceptions

echo '<?php foreach ( get_declared_classes() as $className ) echo $className.PHP_EOL;' \
    | php \
    | sed 's/^/\\/g' \
    | grep -i exception \
    | sort -i
\BadFunctionCallException
\BadMethodCallException
\DomainException
\DOMException
\ErrorException
\Exception
\InvalidArgumentException
\LengthException
\LogicException
\mysqli_sql_exception
\OutOfBoundsException
\OutOfRangeException
\OverflowException
\PDOException
\PharException
\RangeException
\ReflectionException
\RuntimeException
\SNMPException
\UnderflowException
\UnexpectedValueException

Non-Exceptions

echo '<?php foreach ( get_declared_classes() as $className ) echo $className.PHP_EOL;' \
    | php \
    | sed 's/^/\\/g' \
    | grep -vi exception \
    | sort -i
\AppendIterator
\ArrayIterator
\ArrayObject
\CachingIterator
\CallbackFilterIterator
\Closure
\Collator
\DateInterval
\DatePeriod
\DateTime
\DateTimeZone
\Directory
\DirectoryIterator
\DOMAttr
\DOMCdataSection
\DOMCharacterData
\DOMComment
\DOMConfiguration
\DOMDocument
\DOMDocumentFragment
\DOMDocumentType
\DOMDomError
\DOMElement
\DOMEntity
\DOMEntityReference
\DOMErrorHandler
\DOMImplementation
\DOMImplementationList
\DOMImplementationSource
\DOMLocator
\DOMNamedNodeMap
\DOMNameList
\DOMNameSpaceNode
\DOMNode
\DOMNodeList
\DOMNotation
\DOMProcessingInstruction
\DOMStringExtend
\DOMStringList
\DOMText
\DOMTypeinfo
\DOMUserDataHandler
\DOMXPath
\EmptyIterator
\FilesystemIterator
\FilterIterator
\finfo
\GlobIterator
\InfiniteIterator
\IntlDateFormatter
\IteratorIterator
\LibXMLError
\LimitIterator
\Locale
\MessageFormatter
\MultipleIterator
\mysqli
\mysqli_driver
\mysqli_result
\mysqli_stmt
\mysqli_warning
\NoRewindIterator
\Normalizer
\NumberFormatter
\ParentIterator
\PDO
\PDORow
\PDOStatement
\Phar
\PharData
\PharFileInfo
\__PHP_Incomplete_Class
\php_user_filter
\RecursiveArrayIterator
\RecursiveCachingIterator
\RecursiveCallbackFilterIterator
\RecursiveDirectoryIterator
\RecursiveFilterIterator
\RecursiveIteratorIterator
\RecursiveRegexIterator
\RecursiveTreeIterator
\Reflection
\ReflectionClass
\ReflectionExtension
\ReflectionFunction
\ReflectionFunctionAbstract
\ReflectionMethod
\ReflectionObject
\ReflectionParameter
\ReflectionProperty
\ReflectionZendExtension
\RegexIterator
\ResourceBundle
\SessionHandler
\SimpleXMLElement
\SimpleXMLIterator
\SNMP
\SoapClient
\SoapFault
\SoapHeader
\SoapParam
\SoapServer
\SoapVar
\SplDoublyLinkedList
\SplFileInfo
\SplFileObject
\SplFixedArray
\SplHeap
\SplMaxHeap
\SplMinHeap
\SplObjectStorage
\SplPriorityQueue
\SplQueue
\SplStack
\SplTempFileObject
\Spoofchecker
\SQLite3
\SQLite3Result
\SQLite3Stmt
\stdClass
\tidy
\tidyNode
\Transliterator
\XMLReader
\XMLWriter
\XSLTProcessor
\ZipArchive
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment