1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
<?php /** * Iterator for arrays requiring filtered values * * @package Requests * @subpackage Utilities */
/** * Iterator for arrays requiring filtered values * * @package Requests * @subpackage Utilities */ class Requests_Utility_FilteredIterator extends ArrayIterator { /** * Callback to run as a filter * * @var callable */ protected $callback;
/** * Create a new iterator * * @param array $data * @param callable $callback Callback to be called on each value */ public function __construct($data, $callback) { parent::__construct($data);
$this->callback = $callback; }
/** * Get the current item's value after filtering * * @return string */ public function current() { $value = parent::current(); $value = call_user_func($this->callback, $value); return $value; }
/** * @inheritdoc */ public function unserialize( $serialized ) { }
/** * @inheritdoc */ public function __unserialize( $serialized ) { // phpcs:ignore PHPCompatibility.FunctionNameRestrictions.ReservedFunctionNames.MethodDoubleUnderscore,PHPCompatibility.FunctionNameRestrictions.NewMagicMethods.__unserializeFound }
public function __wakeup() { // phpcs:ignore PHPCompatibility.FunctionNameRestrictions.ReservedFunctionNames.MethodDoubleUnderscore,PHPCompatibility.FunctionNameRestrictions.NewMagicMethods.__wakeupFound unset( $this->callback ); } }
|