Verzeichnisstruktur phpBB-3.2.0
- Veröffentlicht
- 06.01.2017
So funktioniert es
|
Auf das letzte Element klicken. Dies geht jeweils ein Schritt zurück |
Auf das Icon klicken, dies öffnet das Verzeichnis. Nochmal klicken schließt das Verzeichnis. |
|
(Beispiel Datei-Icons)
|
Auf das Icon klicken um den Quellcode anzuzeigen |
BatchResults.php
001 <?php
002 namespace GuzzleHttp;
003
004 /**
005 * Represents the result of a batch operation. This result container is
006 * iterable, countable, and you can can get a result by value using the
007 * getResult function.
008 *
009 * Successful results are anything other than exceptions. Failure results are
010 * exceptions.
011 *
012 * @package GuzzleHttp
013 */
014 class BatchResults implements \Countable, \IteratorAggregate, \ArrayAccess
015 {
016 private $hash;
017
018 /**
019 * @param \SplObjectStorage $hash Hash of key objects to result values.
020 */
021 public function __construct(\SplObjectStorage $hash)
022 {
023 $this->hash = $hash;
024 }
025
026 /**
027 * Get the keys that are available on the batch result.
028 *
029 * @return array
030 */
031 public function getKeys()
032 {
033 return iterator_to_array($this->hash);
034 }
035
036 /**
037 * Gets a result from the container for the given object. When getting
038 * results for a batch of requests, provide the request object.
039 *
040 * @param object $forObject Object to retrieve the result for.
041 *
042 * @return mixed|null
043 */
044 public function getResult($forObject)
045 {
046 return isset($this->hash[$forObject]) ? $this->hash[$forObject] : null;
047 }
048
049 /**
050 * Get an array of successful results.
051 *
052 * @return array
053 */
054 public function getSuccessful()
055 {
056 $results = [];
057 foreach ($this->hash as $key) {
058 if (!($this->hash[$key] instanceof \Exception)) {
059 $results[] = $this->hash[$key];
060 }
061 }
062
063 return $results;
064 }
065
066 /**
067 * Get an array of failed results.
068 *
069 * @return array
070 */
071 public function getFailures()
072 {
073 $results = [];
074 foreach ($this->hash as $key) {
075 if ($this->hash[$key] instanceof \Exception) {
076 $results[] = $this->hash[$key];
077 }
078 }
079
080 return $results;
081 }
082
083 /**
084 * Allows iteration over all batch result values.
085 *
086 * @return \ArrayIterator
087 */
088 public function getIterator()
089 {
090 $results = [];
091 foreach ($this->hash as $key) {
092 $results[] = $this->hash[$key];
093 }
094
095 return new \ArrayIterator($results);
096 }
097
098 /**
099 * Counts the number of elements in the batch result.
100 *
101 * @return int
102 */
103 public function count()
104 {
105 return count($this->hash);
106 }
107
108 /**
109 * Checks if the batch contains a specific numerical array index.
110 *
111 * @param int $key Index to access
112 *
113 * @return bool
114 */
115 public function offsetExists($key)
116 {
117 return $key < count($this->hash);
118 }
119
120 /**
121 * Allows access of the batch using a numerical array index.
122 *
123 * @param int $key Index to access.
124 *
125 * @return mixed|null
126 */
127 public function offsetGet($key)
128 {
129 $i = -1;
130 foreach ($this->hash as $obj) {
131 if ($key === ++$i) {
132 return $this->hash[$obj];
133 }
134 }
135
136 return null;
137 }
138
139 public function offsetUnset($key)
140 {
141 throw new \RuntimeException('Not implemented');
142 }
143
144 public function offsetSet($key, $value)
145 {
146 throw new \RuntimeException('Not implemented');
147 }
148 }
149