xref: /PHP-8.0/ext/spl/spl_observer.stub.php (revision d618ed0a)
1<?php
2
3/** @generate-function-entries */
4
5interface SplObserver
6{
7    /** @return void */
8    public function update(SplSubject $subject);
9}
10
11interface SplSubject
12{
13    /** @return void */
14    public function attach(SplObserver $observer);
15
16    /** @return void */
17    public function detach(SplObserver $observer);
18
19    /** @return void */
20    public function notify();
21}
22
23class SplObjectStorage implements Countable, Iterator, Serializable, ArrayAccess
24{
25    /** @return void */
26    public function attach(object $object, mixed $info = null) {}
27
28    /** @return void */
29    public function detach(object $object) {}
30
31    /** @return bool */
32    public function contains(object $object) {}
33
34    /** @return int */
35    public function addAll(SplObjectStorage $storage) {}
36
37    /** @return int */
38    public function removeAll(SplObjectStorage $storage) {}
39
40    /** @return int */
41    public function removeAllExcept(SplObjectStorage $storage) {}
42
43    /** @return mixed */
44    public function getInfo() {}
45
46    /** @return void */
47    public function setInfo(mixed $info) {}
48
49    /** @return int */
50    public function count(int $mode = COUNT_NORMAL) {}
51
52    /** @return void */
53    public function rewind() {}
54
55    /** @return bool */
56    public function valid() {}
57
58    /** @return int */
59    public function key() {}
60
61    /** @return object|null */
62    public function current() {}
63
64    /** @return void */
65    public function next() {}
66
67    /** @return void */
68    public function unserialize(string $data) {}
69
70    /** @return string */
71    public function serialize() {}
72
73    /**
74     * @param object $object
75     * @return bool
76     * @implementation-alias SplObjectStorage::contains
77     */
78    public function offsetExists($object) {}
79
80    /**
81     * @param object $object
82     * @return mixed
83     */
84    public function offsetGet($object) {}
85
86    /**
87     * @param object $object
88     * @return void
89     * @implementation-alias SplObjectStorage::attach
90     */
91    public function offsetSet($object, mixed $info = null) {}
92
93    /**
94     * @param object $object
95     * @return void
96     * @implementation-alias SplObjectStorage::detach
97     */
98    public function offsetUnset($object) {}
99
100    /** @return string */
101    public function getHash(object $object) {}
102
103    /** @return array */
104    public function __serialize() {}
105
106    /** @return void */
107    public function __unserialize(array $data) {}
108
109    /** @return array */
110    public function __debugInfo() {}
111}
112
113class MultipleIterator implements Iterator
114{
115    public function __construct(int $flags = MultipleIterator::MIT_NEED_ALL|MultipleIterator::MIT_KEYS_NUMERIC) {}
116
117    /** @return int */
118    public function getFlags() {}
119
120    /** @return void */
121    public function setFlags(int $flags) {}
122
123    /** @return void */
124    public function attachIterator(Iterator $iterator, string|int|null $info = null) {}
125
126    /** @return void */
127    public function detachIterator(Iterator $iterator) {}
128
129    /** @return bool */
130    public function containsIterator(Iterator $iterator) {}
131
132    /** @return int */
133    public function countIterators() {}
134
135    /** @return void */
136    public function rewind() {}
137
138    /** @return bool */
139    public function valid() {}
140
141    /** @return array|false */
142    public function key() {}
143
144    /** @return array|false */
145    public function current() {}
146
147    /** @return void */
148    public function next() {}
149
150    /**
151     * @return array
152     * @implementation-alias SplObjectStorage::__debugInfo
153     */
154    public function __debugInfo() {}
155}
156