*/
interface Traversable extends iterable {}
/**
* Interface to create an external Iterator.
* @link https://php.net/manual/en/class.iteratoraggregate.php
* @template TKey
* @template-covariant TValue
* @template-implements Traversable
* An offset to check for.
*
* The return value will be casted to boolean if non-boolean was returned. */ #[TentativeType] public function offsetExists(#[LanguageLevelTypeAware(['8.0' => 'mixed'], default: '')] $offset): bool; /** * Offset to retrieve * @link https://php.net/manual/en/arrayaccess.offsetget.php * @param mixed $offset
* The offset to retrieve. *
* @return TValue Can return all value types. */ #[TentativeType] public function offsetGet(#[LanguageLevelTypeAware(['8.0' => 'mixed'], default: '')] $offset): mixed; /** * Offset to set * @link https://php.net/manual/en/arrayaccess.offsetset.php * @param TKey $offset* The offset to assign the value to. *
* @param TValue $value* The value to set. *
* @return void */ #[TentativeType] public function offsetSet( #[LanguageLevelTypeAware(['8.0' => 'mixed'], default: '')] $offset, #[LanguageLevelTypeAware(['8.0' => 'mixed'], default: '')] $value ): void; /** * Offset to unset * @link https://php.net/manual/en/arrayaccess.offsetunset.php * @param TKey $offset* The offset to unset. *
* @return void */ #[TentativeType] public function offsetUnset(#[LanguageLevelTypeAware(['8.0' => 'mixed'], default: '')] $offset): void; } /** * Interface for customized serializing.* Returns the exception code as integer in * {@see Exception} but possibly as other type in * {@see Exception} descendants (for example as * string in {@see PDOException}). *
* @since 7.0 */ public function getCode(); /** * Gets the file in which the exception occurred * @link https://php.net/manual/en/throwable.getfile.php * @return string Returns the name of the file from which the object was thrown. * @since 7.0 */ public function getFile(): string; /** * Gets the line on which the object was instantiated * @link https://php.net/manual/en/throwable.getline.php * @return int Returns the line number where the thrown object was instantiated. * @since 7.0 */ public function getLine(): int; /** * Gets the stack trace * @link https://php.net/manual/en/throwable.gettrace.php * @return array* Returns the stack trace as an array in the same format as * {@see debug_backtrace()}. *
* @since 7.0 */ public function getTrace(): array; /** * Gets the stack trace as a string * @link https://php.net/manual/en/throwable.gettraceasstring.php * @return string Returns the stack trace as a string. * @since 7.0 */ public function getTraceAsString(): string; /** * Returns the previous Throwable * @link https://php.net/manual/en/throwable.getprevious.php * @return null|Throwable Returns the previous {@see Throwable} if available, or NULL otherwise. * @since 7.0 */ #[LanguageLevelTypeAware(['8.0' => 'Throwable|null'], default: '')] public function getPrevious(); /** * Gets a string representation of the thrown object * @link https://php.net/manual/en/throwable.tostring.php * @return stringReturns the string representation of the thrown object.
* @since 7.0 */ public function __toString(); } /** * Exception is the base class for * all Exceptions. * @link https://php.net/manual/en/class.exception.php */ class Exception implements Throwable { /** The error message */ protected $message; /** The error code */ protected $code; /** The filename where the error happened */ #[LanguageLevelTypeAware(['8.1' => 'string'], default: '')] protected $file; /** The line where the error happened */ #[LanguageLevelTypeAware(['8.1' => 'int'], default: '')] protected $line; /** * Clone the exception * Tries to clone the Exception, which results in Fatal error. * @link https://php.net/manual/en/exception.clone.php * @return void */ #[PhpStormStubsElementAvailable(from: "5.4", to: "8.0")] final private function __clone(): void {} /** * Clone the exception * Tries to clone the Exception, which results in Fatal error. * @link https://php.net/manual/en/exception.clone.php * @return void */ #[PhpStormStubsElementAvailable("8.1")] private function __clone(): void {} /** * Construct the exception. Note: The message is NOT binary safe. * @link https://php.net/manual/en/exception.construct.php * @param string $message [optional] The Exception message to throw. * @param int $code [optional] The Exception code. * @param null|Throwable $previous [optional] The previous throwable used for the exception chaining. */ #[Pure] public function __construct( #[LanguageLevelTypeAware(['8.0' => 'string'], default: '')] $message = "", #[LanguageLevelTypeAware(['8.0' => 'int'], default: '')] $code = 0, #[LanguageLevelTypeAware(['8.0' => 'Throwable|null'], default: 'Throwable')] $previous = null ) {} /** * Gets the Exception message * @link https://php.net/manual/en/exception.getmessage.php * @return string the Exception message as a string. */ #[Pure] final public function getMessage(): string {} /** * Gets the Exception code * @link https://php.net/manual/en/exception.getcode.php * @return mixed|int the exception code as integer in * Exception but possibly as other type in * Exception descendants (for example as * string in PDOException). */ #[Pure] final public function getCode() {} /** * Gets the file in which the exception occurred * @link https://php.net/manual/en/exception.getfile.php * @return string the filename in which the exception was created. */ #[Pure] final public function getFile(): string {} /** * Gets the line in which the exception occurred * @link https://php.net/manual/en/exception.getline.php * @return int the line number where the exception was created. */ #[Pure] final public function getLine(): int {} /** * Gets the stack trace * @link https://php.net/manual/en/exception.gettrace.php * @return array the Exception stack trace as an array. */ #[Pure] final public function getTrace(): array {} /** * Returns previous Exception * @link https://php.net/manual/en/exception.getprevious.php * @return null|Throwable Returns the previous {@see Throwable} if available, or NULL otherwise. * or null otherwise. */ #[Pure] final public function getPrevious(): ?Throwable {} /** * Gets the stack trace as a string * @link https://php.net/manual/en/exception.gettraceasstring.php * @return string the Exception stack trace as a string. */ #[Pure] final public function getTraceAsString(): string {} /** * String representation of the exception * @link https://php.net/manual/en/exception.tostring.php * @return string the string representation of the exception. */ #[TentativeType] public function __toString(): string {} #[TentativeType] public function __wakeup(): void {} } /** * Error is the base class for all internal PHP error exceptions. * @link https://php.net/manual/en/class.error.php * @since 7.0 */ class Error implements Throwable { /** The error message */ protected $message; /** The error code */ protected $code; /** The filename where the error happened */ #[LanguageLevelTypeAware(['8.1' => 'string'], default: '')] protected $file; /** The line where the error happened */ #[LanguageLevelTypeAware(['8.1' => 'int'], default: '')] protected $line; /** * Construct the error object. * @link https://php.net/manual/en/error.construct.php * @param string $message [optional] The Error message to throw. * @param int $code [optional] The Error code. * @param null|Throwable $previous [optional] The previous throwable used for the exception chaining. */ #[Pure] public function __construct( #[LanguageLevelTypeAware(['8.0' => 'string'], default: '')] $message = "", #[LanguageLevelTypeAware(['8.0' => 'int'], default: '')] $code = 0, #[LanguageLevelTypeAware(['8.0' => 'Throwable|null'], default: 'Throwable')] $previous = null ) {} /*** * Gets the message * @link https://php.net/manual/en/throwable.getmessage.php * @return string * @since 7.0 */ final public function getMessage(): string {} /** * Gets the exception code * @link https://php.net/manual/en/throwable.getcode.php * @return int* Returns the exception code as integer in * {@see Exception} but possibly as other type in * {@see Exception} descendants (for example as * string in {@see PDOException}). *
* @since 7.0 */ final public function getCode() {} /** * Gets the file in which the exception occurred * @link https://php.net/manual/en/throwable.getfile.php * @return string Returns the name of the file from which the object was thrown. * @since 7.0 */ final public function getFile(): string {} /** * Gets the line on which the object was instantiated * @link https://php.net/manual/en/throwable.getline.php * @return int Returns the line number where the thrown object was instantiated. * @since 7.0 */ final public function getLine(): int {} /** * Gets the stack trace * @link https://php.net/manual/en/throwable.gettrace.php * @return array* Returns the stack trace as an array in the same format as * {@see debug_backtrace()}. *
* @since 7.0 */ final public function getTrace(): array {} /** * Gets the stack trace as a string * @link https://php.net/manual/en/throwable.gettraceasstring.php * @return string Returns the stack trace as a string. * @since 7.0 */ final public function getTraceAsString(): string {} /** * Returns the previous Throwable * @link https://php.net/manual/en/throwable.getprevious.php * @return null|Throwable Returns the previous {@see Throwable} if available, or NULL otherwise. * @since 7.0 */ final public function getPrevious(): ?Throwable {} /** * Gets a string representation of the thrown object * @link https://php.net/manual/en/throwable.tostring.php * @return stringReturns the string representation of the thrown object.
* @since 7.0 */ public function __toString(): string {} /** * Clone the error * Error can not be clone, so this method results in fatal error. * @return void * @link https://php.net/manual/en/error.clone.php */ #[PhpStormStubsElementAvailable(from: "7.0", to: "8.0")] final private function __clone(): void {} /** * Clone the error * Error can not be clone, so this method results in fatal error. * @return void * @link https://php.net/manual/en/error.clone.php */ #[PhpStormStubsElementAvailable('8.1')] private function __clone(): void {} #[TentativeType] public function __wakeup(): void {} } class ValueError extends Error {} /** * There are three scenarios where a TypeError may be thrown. * The first is where the argument type being passed to a function does not match its corresponding declared * parameter type. The second is where a value being returned from a function does not match the declared function return type. The third is where an * invalid number of arguments are passed to a built-in PHP function (strict mode only). * @link https://php.net/manual/en/class.typeerror.php * @since 7.0 */ class TypeError extends Error {} /** * ParseError is thrown when an error occurs while parsing PHP code, such as when {@see eval()} is called. * @link https://php.net/manual/en/class.parseerror.php * @since 7.0 */ class ParseError extends CompileError {} /** * ArgumentCountError is thrown when too few arguments are passed to a user * defined routine. * * @since 7.1 * @see https://php.net/migration71.incompatible#migration71.incompatible.too-few-arguments-exception */ class ArgumentCountError extends TypeError {} /** * ArithmeticError is thrown when an error occurs while performing mathematical operations. * In PHP 7.0, these errors include attempting to perform a bitshift by a negative amount, * and any call to {@see intdiv()} that would result in a value outside the possible bounds of an integer. * @link https://php.net/manual/en/class.arithmeticerror.php * @since 7.0 */ class ArithmeticError extends Error {} /** * Class CompileError * @link https://secure.php.net/manual/en/class.compileerror.php * @since 7.3 */ class CompileError extends Error {} /** * DivisionByZeroError is thrown when an attempt is made to divide a number by zero. * @link https://php.net/manual/en/class.divisionbyzeroerror.php * @since 7.0 */ class DivisionByZeroError extends ArithmeticError {} /** * @since 8.0 */ class UnhandledMatchError extends Error {} /** * An Error Exception. * @link https://php.net/manual/en/class.errorexception.php */ class ErrorException extends Exception { #[LanguageLevelTypeAware(['8.1' => 'int'], default: '')] protected $severity; /** * Constructs the exception * @link https://php.net/manual/en/errorexception.construct.php * @param string $message [optional] The Exception message to throw. * @param int $code [optional] The Exception code. * @param int $severity [optional] The severity level of the exception. * @param string $filename [optional] The filename where the exception is thrown. * @param int $line [optional] The line number where the exception is thrown. * @param Exception $previous [optional] The previous exception used for the exception chaining. */ #[Pure] public function __construct( #[LanguageLevelTypeAware(['8.0' => 'string'], default: '')] $message = "", #[LanguageLevelTypeAware(['8.0' => 'int'], default: '')] $code = 0, #[LanguageLevelTypeAware(['8.0' => 'int'], default: '')] $severity = 1, #[LanguageLevelTypeAware(['8.0' => 'string|null'], default: '')] $filename = __FILE__, #[LanguageLevelTypeAware(['8.0' => 'int|null'], default: '')] $line = __LINE__, #[LanguageLevelTypeAware(['8.0' => 'Throwable|null'], default: 'Throwable')] $previous = null ) {} /** * Gets the exception severity * @link https://php.net/manual/en/errorexception.getseverity.php * @return int the severity level of the exception. */ final public function getSeverity(): int {} } /** * Class used to represent anonymous functions. *Anonymous functions, implemented in PHP 5.3, yield objects of this type. * This fact used to be considered an implementation detail, but it can now be relied upon. * Starting with PHP 5.4, this class has methods that allow further control of the anonymous function after it has been created. *
Besides the methods listed here, this class also has an __invoke method. * This is for consistency with other classes that implement calling magic, as this method is not used for calling the function. * @link https://secure.php.net/manual/en/class.closure.php */ final class Closure { /** * This method exists only to disallow instantiation of the Closure class. * Objects of this class are created in the fashion described on the anonymous functions page. * @link https://secure.php.net/manual/en/closure.construct.php */ private function __construct() {} /** * This is for consistency with other classes that implement calling magic, * as this method is not used for calling the function. * @param mixed ...$_ [optional] * @return mixed * @link https://secure.php.net/manual/en/class.closure.php */ public function __invoke(...$_) {} /** * Duplicates the closure with a new bound object and class scope * @link https://secure.php.net/manual/en/closure.bindto.php * @param object|null $newThis The object to which the given anonymous function should be bound, or NULL for the closure to be unbound. * @param mixed $newScope The class scope to which associate the closure is to be associated, or 'static' to keep the current one. * If an object is given, the type of the object will be used instead. * This determines the visibility of protected and private methods of the bound object. * @return Closure|false Returns the newly created Closure object or FALSE on failure */ public function bindTo(?object $newThis, object|string|null $newScope = 'static'): ?Closure {} /** * This method is a static version of Closure::bindTo(). * See the documentation of that method for more information. * @link https://secure.php.net/manual/en/closure.bind.php * @param Closure $closure The anonymous functions to bind. * @param object|null $newThis The object to which the given anonymous function should be bound, or NULL for the closure to be unbound. * @param mixed $newScope The class scope to which associate the closure is to be associated, or 'static' to keep the current one. * If an object is given, the type of the object will be used instead. * This determines the visibility of protected and private methods of the bound object. * @return Closure|false Returns the newly created Closure object or FALSE on failure */ public static function bind(Closure $closure, ?object $newThis, object|string|null $newScope = 'static'): ?Closure {} /** * Temporarily binds the closure to newthis, and calls it with any given parameters. * @link https://php.net/manual/en/closure.call.php * @param object $newThis The object to bind the closure to for the duration of the call. * @param mixed $args [optional] Zero or more parameters, which will be given as parameters to the closure. * @return mixed * @since 7.0 */ public function call(object $newThis, mixed ...$args): mixed {} /** * @param callable $callback * @return Closure * @since 7.1 */ public static function fromCallable(callable $callback): Closure {} } /** * Classes implementing Countable can be used with the * count function. * @link https://php.net/manual/en/class.countable.php */ interface Countable { /** * Count elements of an object * @link https://php.net/manual/en/countable.count.php * @return int<0,max> The custom count as an integer. *
* The return value is cast to an integer. *
*/ #[TentativeType] public function count(): int; } /** * Weak references allow the programmer to retain a reference to an * object which does not prevent the object from being destroyed. * They are useful for implementing cache like structures. * @template T of object * @link https://www.php.net/manual/en/class.weakreference.php * @since 7.4 */ final class WeakReference { /** * This method exists only to disallow instantiation of the WeakReference * class. Weak references are to be instantiated with the factory method * WeakReference::create(). */ public function __construct() {} /** * Create a new weak reference. * @link https://www.php.net/manual/en/weakreference.create.php * @template TIn of object * @param TIn $object Any object. * @return WeakReference