| 1 | <?php |
||
| 5 | class Flags implements \IteratorAggregate, \Countable |
||
| 6 | { |
||
| 7 | protected $valid_flags = []; |
||
| 8 | protected $flags = []; |
||
| 9 | |||
| 10 | 77 | public function __construct(int ...$valid_flags) |
|
| 14 | |||
| 15 | 26 | public function getIterator(): array |
|
| 19 | |||
| 20 | 37 | public function add($flag) |
|
| 28 | |||
| 29 | 1 | public function remove($flag) |
|
| 35 | |||
| 36 | 26 | public function hasFlag($flag) |
|
| 40 | |||
| 41 | /** |
||
| 42 | * Count elements of an object |
||
| 43 | * @link http://php.net/manual/en/countable.count.php |
||
| 44 | * @return int The custom count as an integer. |
||
| 45 | * </p> |
||
| 46 | * <p> |
||
| 47 | * The return value is cast to an integer. |
||
| 48 | * @since 5.1.0 |
||
| 49 | */ |
||
| 50 | 2 | public function count() |
|
| 54 | } |
||
| 55 |
It seems like the type of the argument is not accepted by the function/method which you are calling.
In some cases, in particular if PHP’s automatic type-juggling kicks in this might be fine. In other cases, however this might be a bug.
We suggest to add an explicit type cast like in the following example: