self::CONFIG_KEY, 'fallback' => self::DEFAULT_CAPACITY, ]); $value = self::DEFAULT_CAPACITY; } elseif (! ctype_digit((string) $raw)) { throw new RuntimeException('promotion.section_capacity must be a positive integer.'); } else { $value = (int) $raw; } if ($value <= 0) { throw new RuntimeException('promotion.section_capacity must be greater than zero.'); } return [ 'key' => self::CONFIG_KEY, 'value' => $value, 'used_default' => $usedDefault, 'warnings' => $usedDefault ? ['promotion.section_capacity missing; fallback capacity 20 used.'] : [], ]; } }