Skip to content

Commit 553da8a

Browse files
author
Jason Adams
authored
Feature: updates to PHP 7.4 syntax (#22)
1 parent 6b5e8e7 commit 553da8a

12 files changed

Lines changed: 53 additions & 34 deletions

.github/workflows/phpstan.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ jobs:
2020
- name: Setup PHP
2121
uses: shivammathur/setup-php@v2
2222
with:
23-
php-version: '7.2'
23+
php-version: '7.4'
2424
coverage: none
2525
tools: composer:v2
2626

composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@
3939
},
4040
"config": {
4141
"platform": {
42-
"php": "7.2"
42+
"php": "7.4"
4343
}
4444
},
4545
"repositories": [

phpstan.neon

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ includes:
33

44
parameters:
55
# Level 5 is a good balance between strictness and practicality
6-
level: 5
6+
level: 6
77

88
# Paths to analyze
99
paths:
@@ -20,7 +20,7 @@ parameters:
2020
# Add specific error patterns to ignore here if needed
2121

2222
# PHP version (must be an integer)
23-
phpVersion: 70200
23+
phpVersion: 70400
2424

2525
# Treat missing return types as mixed
2626
treatPhpDocTypesAsCertain: false

src/Config.php

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ class Config
4848
*
4949
* @param ContainerInterface $container
5050
*/
51-
public static function setServiceContainer($container)
51+
public static function setServiceContainer($container): void
5252
{
5353
self::$container = $container;
5454
}
@@ -74,7 +74,7 @@ public static function getHookPrefix(): string
7474
/**
7575
* @since 1.0.0
7676
*/
77-
public static function setHookPrefix(string $prefix)
77+
public static function setHookPrefix(string $prefix): void
7878
{
7979
self::$hookPrefix = $prefix;
8080
}
@@ -105,7 +105,7 @@ public static function getValidationExceptionClass(): string
105105
*
106106
* @param class-string<ValidationException> $validationExceptionClass
107107
*/
108-
public static function setValidationExceptionClass(string $validationExceptionClass)
108+
public static function setValidationExceptionClass(string $validationExceptionClass): void
109109
{
110110
if (!is_a($validationExceptionClass, ValidationExceptionInterface::class, true)) {
111111
throw new RuntimeException(
@@ -142,7 +142,7 @@ public static function getInvalidArgumentExceptionClass(): string
142142
*
143143
* @param class-string<InvalidArgumentException> $invalidArgumentExceptionClass
144144
*/
145-
public static function setInvalidArgumentExceptionClass(string $invalidArgumentExceptionClass)
145+
public static function setInvalidArgumentExceptionClass(string $invalidArgumentExceptionClass): void
146146
{
147147
if (!is_a($invalidArgumentExceptionClass, InvalidArgumentException::class, true)) {
148148
throw new RuntimeException(

src/Contracts/ValidatesOnFrontEnd.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ interface ValidatesOnFrontEnd
1111
*
1212
* @since 1.0.0
1313
*
14-
* @return int|float|string|bool|array|null
14+
* @return mixed
1515
*/
1616
public function serializeOption();
1717
}

src/Contracts/ValidationRule.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,11 @@ public static function fromString(?string $options = null): ValidationRule;
3434
* @since 1.2.0 add ExcludeValue return option
3535
* @since 1.0.0
3636
*
37+
* @param mixed $value
38+
* @param Closure $fail
39+
* @param string $key
40+
* @param array<string, mixed> $values
41+
*
3742
* @return void|ExcludeValue|SkipValidationRules
3843
*/
3944
public function __invoke($value, Closure $fail, string $key, array $values);

src/Rules/Abstracts/ConditionalRule.php

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,22 +5,22 @@
55
namespace StellarWP\Validation\Rules\Abstracts;
66

77
use StellarWP\FieldConditions\ComplexConditionSet;
8+
use StellarWP\FieldConditions\SimpleConditionSet;
89
use StellarWP\FieldConditions\Contracts\Condition;
910
use StellarWP\FieldConditions\Contracts\ConditionSet;
10-
use StellarWP\FieldConditions\SimpleConditionSet;
1111
use StellarWP\Validation\Config;
1212
use StellarWP\Validation\Contracts\ValidatesOnFrontEnd;
1313
use StellarWP\Validation\Contracts\ValidationRule;
1414

1515
abstract class ConditionalRule implements ValidationRule, ValidatesOnFrontEnd
1616
{
1717
/**
18-
* @var ConditionSet
18+
* @var SimpleConditionSet|ComplexConditionSet
1919
*/
20-
protected $conditions;
20+
protected ConditionSet $conditions;
2121

2222
/**
23-
* @param ConditionSet|Condition[] $conditions
23+
* @param SimpleConditionSet|ComplexConditionSet|Condition[] $conditions
2424
*/
2525
public function __construct($conditions)
2626
{

src/Rules/In.php

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,9 @@
1010
class In implements ValidationRule, ValidatesOnFrontEnd
1111
{
1212
/**
13-
* @var array
13+
* @var array<mixed>
1414
*/
15-
protected $acceptedValues;
15+
protected array $acceptedValues;
1616

1717
/**
1818
* @since 1.2.0
@@ -24,6 +24,8 @@ public static function id(): string
2424

2525
/**
2626
* @since 1.2.0
27+
*
28+
* @param mixed ...$acceptedValues
2729
*/
2830
final public function __construct(...$acceptedValues)
2931
{
@@ -64,6 +66,8 @@ public function __invoke($value, Closure $fail, string $key, array $values)
6466

6567
/**
6668
* @since 1.2.0
69+
*
70+
* @return array<mixed>
6771
*/
6872
public function serializeOption(): array
6973
{

src/ServiceProvider.php

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,10 @@
2828

2929
class ServiceProvider
3030
{
31-
private $validationRules = [
31+
/**
32+
* @var array<class-string>
33+
*/
34+
private array $validationRules = [
3235
Required::class,
3336
Min::class,
3437
Max::class,
@@ -55,7 +58,7 @@ class ServiceProvider
5558
/**
5659
* Registers the validation rules registrar with the container
5760
*/
58-
public function register()
61+
public function register(): void
5962
{
6063
Config::getServiceContainer()->singleton(ValidationRulesRegistrar::class, function () {
6164
$register = new ValidationRulesRegistrar();

src/ValidationRuleSet.php

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,17 +15,17 @@
1515
use StellarWP\Validation\Contracts\ValidationRule;
1616
use Traversable;
1717

18+
/**
19+
* @implements IteratorAggregate<int, ValidationRule|Closure>
20+
*/
1821
class ValidationRuleSet implements IteratorAggregate, JsonSerializable
1922
{
20-
/**
21-
* @var ValidationRulesRegistrar
22-
*/
23-
private $register;
23+
private ValidationRulesRegistrar $register;
2424

2525
/**
2626
* @var array<int, ValidationRule|Closure>
2727
*/
28-
private $rules = [];
28+
private array $rules = [];
2929

3030
/**
3131
* @since 1.0.0
@@ -168,6 +168,8 @@ public function removeRuleWithId(string $id): self
168168
* Returns the validation rules.
169169
*
170170
* @since 1.0.0
171+
*
172+
* @return array<int, ValidationRule|Closure>
171173
*/
172174
public function getRules(): array
173175
{

0 commit comments

Comments
 (0)