diff --git a/DataTableResults.php b/DataTableResults.php index 4ff46dc..5c7ef32 100644 --- a/DataTableResults.php +++ b/DataTableResults.php @@ -30,30 +30,35 @@ class DataTableResults implements \JsonSerializable { /** * @Assert\NotNull + * * @Assert\GreaterThanOrEqual(value="0") */ public $page = 0; /** * @Assert\NotNull + * * @Assert\GreaterThanOrEqual(value="0") */ public $pages = 0; /** * @Assert\NotNull + * * @Assert\GreaterThanOrEqual(value="0") */ public $perpage = 0; /** * @Assert\NotNull + * * @Assert\GreaterThanOrEqual(value="0") */ public $total = 0; /** * @Assert\NotNull + * * @Assert\Choice(choices={"asc", "desc"}, strict=true) */ public $sort = 'asc'; @@ -65,12 +70,14 @@ class DataTableResults implements \JsonSerializable /** * @Assert\NotNull + * * @Assert\Type(type="array") */ public $data = []; /** * @Assert\NotNull + * * @Assert\Type(type="array") */ public $totalDataRow = []; diff --git a/Parameters.php b/Parameters.php index 8b3f3c0..3c92fae 100644 --- a/Parameters.php +++ b/Parameters.php @@ -28,32 +28,40 @@ class Parameters { /** * @Assert\NotNull + * * @Assert\GreaterThanOrEqual(value="0") */ public $start = 0; /** * @Assert\NotNull + * * @Assert\GreaterThanOrEqual(value="-1") */ public $length = -1; /** * @Assert\NotNull + * * @Assert\Length(max="100") */ public $search = ''; /** * @Assert\NotNull + * * @Assert\Type(type="array") + * * @Assert\All({ + * * @Assert\Collection( * fields={ * "field" = { + * * @Assert\Length(max="100") * }, * "sort" = { + * * @Assert\Choice(choices={"asc", "desc"}, strict=true) * } * }, diff --git a/composer.json b/composer.json index b958fb0..e560ce2 100644 --- a/composer.json +++ b/composer.json @@ -13,18 +13,17 @@ ], "require": { "php" : "^8.1", - "psr/log" : "^1.0", - "symfony/config" : "^4.0|^5.0|^6.0", - "symfony/dependency-injection" : "^4.0|^5.0|^6.0", - "symfony/http-foundation" : "^4.0|^5.0.7|^6.0", - "symfony/http-kernel" : "^4.0|^5.1.5|^6.0", - "symfony/validator" : "^4.0|^5.0|^6.0" + "psr/log" : "^1.0|^2.0|^3.0", + "symfony/config" : "^4.0|^5.0|^6.0|^7.0", + "symfony/dependency-injection" : "^4.0|^5.0|^6.0|^7.0", + "symfony/http-foundation" : "^4.0|^5.0.7|^6.0|^7.0", + "symfony/http-kernel" : "^4.0|^5.1.5|^6.0|^7.0", + "symfony/validator" : "^4.0|^5.0|^6.0|^7.0" }, "require-dev": { - "php-parallel-lint/php-var-dump-check": "^0.5.0", - "symplify/easy-coding-standard": "^10.1", - "phpstan/phpstan": "^1.4", - "rector/rector": "^0.17.13" + "symplify/easy-coding-standard": "^12.3", + "phpstan/phpstan": "^1.11", + "rector/rector": "^1.2.2" }, "scripts": { "ecs": "./vendor/bin/ecs check *.php", diff --git a/ecs.php b/ecs.php index 7d75515..80da7dc 100644 --- a/ecs.php +++ b/ecs.php @@ -9,6 +9,7 @@ * file that was distributed with this source code. */ +use PHP_CodeSniffer\Standards\Generic\Sniffs\PHP\ForbiddenFunctionsSniff; use PhpCsFixer\Fixer\Alias\NoMixedEchoPrintFixer; use PhpCsFixer\Fixer\ArrayNotation\ArraySyntaxFixer; use PhpCsFixer\Fixer\ArrayNotation\NoMultilineWhitespaceAroundDoubleArrowFixer; @@ -231,4 +232,13 @@ $ecsConfig->rule(VisibilityRequiredFixer::class); $ecsConfig->rule(WhitespaceAfterCommaInArrayFixer::class); $ecsConfig->rule(YodaStyleFixer::class); + $ecsConfig->ruleWithConfiguration(ForbiddenFunctionsSniff::class, [ + 'forbiddenFunctions' => [ + 'dump' => null, + 'dd' => null, + 'error_log' => null, + 'print_r' => null, + 'var_dump' => null, + ], + ]); };