HEX
Server: nginx/1.24.0
System: Linux localhost 5.15.0-46-generic #49-Ubuntu SMP Thu Aug 4 18:03:25 UTC 2022 x86_64
User: www (1000)
PHP: 8.3.27
Disabled: passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
Upload Files
File: /www/server/php/83/src/ext/spl/spl_observer.stub.php
<?php

/** @generate-class-entries */

interface SplObserver
{
    /** @tentative-return-type */
    public function update(SplSubject $subject): void;
}

interface SplSubject
{
    /** @tentative-return-type */
    public function attach(SplObserver $observer): void;

    /** @tentative-return-type */
    public function detach(SplObserver $observer): void;

    /** @tentative-return-type */
    public function notify(): void;
}

class SplObjectStorage implements Countable, Iterator, Serializable, ArrayAccess
{
    /** @tentative-return-type */
    public function attach(object $object, mixed $info = null): void {}

    /** @tentative-return-type */
    public function detach(object $object): void {}

    /** @tentative-return-type */
    public function contains(object $object): bool {}

    /** @tentative-return-type */
    public function addAll(SplObjectStorage $storage): int {}

    /** @tentative-return-type */
    public function removeAll(SplObjectStorage $storage): int {}

    /** @tentative-return-type */
    public function removeAllExcept(SplObjectStorage $storage): int {}

    /** @tentative-return-type */
    public function getInfo(): mixed {}

    /** @tentative-return-type */
    public function setInfo(mixed $info): void {}

    /** @tentative-return-type */
    public function count(int $mode = COUNT_NORMAL): int {}

    /** @tentative-return-type */
    public function rewind(): void {}

    /** @tentative-return-type */
    public function valid(): bool {}

    /** @tentative-return-type */
    public function key(): int {}

    /** @tentative-return-type */
    public function current(): object {}

    /** @tentative-return-type */
    public function next(): void {}

    /** @tentative-return-type */
    public function unserialize(string $data): void {}

    /** @tentative-return-type */
    public function serialize(): string {}

    /**
     * @param object $object
     * @tentative-return-type
     * @implementation-alias SplObjectStorage::contains
     * @no-verify Cannot specify arg type because ArrayAccess does not
     */
    public function offsetExists($object): bool {}

    /**
     * @param object $object
     * @tentative-return-type
     */
    public function offsetGet($object): mixed {}

    /**
     * @param object $object
     * @tentative-return-type
     * @implementation-alias SplObjectStorage::attach
     * @no-verify Cannot specify arg type because ArrayAccess does not
     */
    public function offsetSet($object, mixed $info = null): void {}

    /**
     * @param object $object
     * @tentative-return-type
     * @implementation-alias SplObjectStorage::detach
     * @no-verify Cannot specify arg type because ArrayAccess does not
     */
    public function offsetUnset($object): void {}

    /** @tentative-return-type */
    public function getHash(object $object): string {}

    /** @tentative-return-type */
    public function __serialize(): array {}

    /** @tentative-return-type */
    public function __unserialize(array $data): void {}

    /** @tentative-return-type */
    public function __debugInfo(): array {}
}

class MultipleIterator implements Iterator
{
    /**
     * @var int
     * @cvalue MIT_NEED_ANY
     */
    public const MIT_NEED_ANY = UNKNOWN;
    /**
     * @var int
     * @cvalue MIT_NEED_ALL
     */
    public const MIT_NEED_ALL = UNKNOWN;
    /**
     * @var int
     * @cvalue MIT_KEYS_NUMERIC
     */
    public const MIT_KEYS_NUMERIC = UNKNOWN;
    /**
     * @var int
     * @cvalue MIT_KEYS_ASSOC
     */
    public const MIT_KEYS_ASSOC = UNKNOWN;

    public function __construct(int $flags = MultipleIterator::MIT_NEED_ALL|MultipleIterator::MIT_KEYS_NUMERIC) {}

    /** @tentative-return-type */
    public function getFlags(): int {}

    /** @tentative-return-type */
    public function setFlags(int $flags): void {}

    /** @tentative-return-type */
    public function attachIterator(Iterator $iterator, string|int|null $info = null): void {}

    /** @tentative-return-type */
    public function detachIterator(Iterator $iterator): void {}

    /** @tentative-return-type */
    public function containsIterator(Iterator $iterator): bool {}

    /** @tentative-return-type */
    public function countIterators(): int {}

    /** @tentative-return-type */
    public function rewind(): void {}

    /** @tentative-return-type */
    public function valid(): bool {}

    /** @tentative-return-type */
    public function key(): array {}

    /** @tentative-return-type */
    public function current(): array {}

    /** @tentative-return-type */
    public function next(): void {}

    /**
     * @tentative-return-type
     * @implementation-alias SplObjectStorage::__debugInfo
     */
    public function __debugInfo(): array {}
}