Skip to content

Commit 0c08bb9

Browse files
authored
Merge pull request #34 from LinioIT/chore/update-security-bundle
chore(deps): support php 8.0
2 parents 782da64 + ae7f8a0 commit 0c08bb9

File tree

11 files changed

+76
-65
lines changed

11 files changed

+76
-65
lines changed

.github/badges/coverage.svg

Lines changed: 2 additions & 2 deletions
Loading

.github/workflows/php.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ jobs:
1818
- name: Setup PHP
1919
uses: shivammathur/setup-php@v2
2020
with:
21-
php-version: 7.4
21+
php-version: 8.0
2222
coverage: xdebug
2323

2424
- name: Validate composer.json and composer.lock

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,3 +8,4 @@ vendor/
88
.php_cs.cache
99
.php-cs-fixer.cache
1010
.phpunit.result.cache
11+
phpunit.xml

composer.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,14 @@
55
"type": "library",
66
"license": "BSD-3-Clause",
77
"require": {
8-
"php": "^7.4",
8+
"php": "^8.0",
99
"symfony/form": "^2.8 || ^3.0 || ^4.0 || ^5.0 || ^6.0"
1010
},
1111
"require-dev": {
1212
"phpunit/phpunit": "^9.5",
1313
"symfony/validator": "^2.8 || ^3.0 || ^4.0 || ^5.0 || ^6.0",
1414
"friendsofphp/php-cs-fixer": "^3.0",
15-
"symfony/security": "^2.8 || ^3.0 || ^4.0 || ^5.0",
15+
"symfony/security-bundle": "^5.0",
1616
"jaschilz/php-coverage-badger": "^2.0",
1717
"phpspec/prophecy-phpunit": "^2.0"
1818
},

phpunit.xml.dist

Lines changed: 18 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,20 @@
11
<?xml version="1.0" encoding="UTF-8"?>
2-
3-
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4-
xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/9.5/phpunit.xsd"
5-
backupGlobals="false"
6-
colors="true"
7-
convertErrorsToExceptions="true"
8-
convertNoticesToExceptions="true"
9-
convertWarningsToExceptions="true"
10-
stopOnFailure="false"
11-
bootstrap="./vendor/autoload.php">
12-
<testsuites>
13-
<testsuite name="Linio Framework Test Suite">
14-
<directory suffix="Test.php">tests</directory>
15-
</testsuite>
16-
</testsuites>
17-
<filter>
18-
<whitelist addUncoveredFilesFromWhitelist="true">
19-
<directory suffix=".php">src</directory>
20-
<exclude>
21-
<directory suffix=".php">vendor</directory>
22-
</exclude>
23-
</whitelist>
24-
</filter>
25-
<logging>
26-
<log type="coverage-clover" target="./coverage.xml"/>
27-
</logging>
2+
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/9.3/phpunit.xsd" backupGlobals="false" colors="true" convertErrorsToExceptions="true" convertNoticesToExceptions="true" convertWarningsToExceptions="true" stopOnFailure="false" bootstrap="./vendor/autoload.php">
3+
<coverage includeUncoveredFiles="true">
4+
<include>
5+
<directory suffix=".php">src</directory>
6+
</include>
7+
<exclude>
8+
<directory suffix=".php">vendor</directory>
9+
</exclude>
10+
<report>
11+
<clover outputFile="./coverage.xml"/>
12+
</report>
13+
</coverage>
14+
<testsuites>
15+
<testsuite name="Linio Framework Test Suite">
16+
<directory suffix="Test.php">tests</directory>
17+
</testsuite>
18+
</testsuites>
19+
<logging/>
2820
</phpunit>

src/Form/FormFactory.php

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515
use Symfony\Component\Form\FormBuilderInterface;
1616
use Symfony\Component\Form\FormFactory as SymfonyFormFactory;
1717
use Symfony\Component\Form\FormInterface;
18+
use Symfony\Component\Validator\Mapping\ClassMetadata;
19+
use Symfony\Component\Validator\Mapping\GenericMetadata;
1820
use Symfony\Component\Validator\Validation;
1921

2022
class FormFactory
@@ -201,14 +203,14 @@ public function updateBirthdayFieldOptions(string $type, string $key, array $fie
201203
*
202204
* @return ValidatorInterface
203205
*/
204-
public function createValidator($key, $object)
206+
public function createValidator($key, mixed $object)
205207
{
206208
if (!isset($this->configuration[$key])) {
207209
throw new NonExistentFormException(sprintf('The form "%s" was not found.', $key));
208210
}
209211

210212
$validator = Validation::createValidatorBuilder()->getValidator();
211-
$metadata = $validator->getMetadataFor(get_class($object));
213+
$metadata = $validator->getMetadataFor($object::class);
212214

213215
foreach ($this->configuration[$key] as $key => $fieldConfiguration) {
214216
if (!$fieldConfiguration['enabled']) {
@@ -220,7 +222,11 @@ public function createValidator($key, $object)
220222
}
221223

222224
foreach ($fieldConfiguration['validation'] as $validatorName => $options) {
223-
$metadata->addPropertyConstraint($key, new $validatorName($options));
225+
if ($metadata instanceof ClassMetadata) {
226+
$metadata->addPropertyConstraint($key, new $validatorName($options));
227+
} elseif ($metadata instanceof GenericMetadata) {
228+
$metadata->addConstraint(new $validatorName($options));
229+
}
224230
}
225231
}
226232

src/FormlyMapper/FormlyField.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ protected function buildConfiguration()
5656

5757
if (isset($this->fieldConfiguration['validation'])) {
5858
$validation = $this->fieldConfiguration['validation'];
59-
$notBlankConstraintClass = 'Symfony\Component\Validator\Constraints\NotBlank';
59+
$notBlankConstraintClass = \Symfony\Component\Validator\Constraints\NotBlank::class;
6060

6161
if (isset($validation[$notBlankConstraintClass])) {
6262
$constraint = $validation[$notBlankConstraintClass];
@@ -66,7 +66,7 @@ protected function buildConfiguration()
6666
}
6767
}
6868

69-
$regexConstraintClass = 'Symfony\Component\Validator\Constraints\Regex';
69+
$regexConstraintClass = \Symfony\Component\Validator\Constraints\Regex::class;
7070

7171
if (isset($validation[$regexConstraintClass])) {
7272
$constraint = $validation[$regexConstraintClass];

src/FormlyMapper/FormlyField/BirthdayField.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ private function validateMaxAgeAllowedIsLargerThanMinAgeAllowed(array $options):
8383
return;
8484
}
8585

86-
if ($options['minAgeAllowed'] > $options['maxAgeAllowed']) {
86+
if ((int) $options['minAgeAllowed'] > (int) $options['maxAgeAllowed']) {
8787
throw new InvalidConfigurationException(sprintf('The value of minAgeAllowed (%s) cannot be greater than maxAgeAllowed (%s).', $options['minAgeAllowed'], $options['maxAgeAllowed']));
8888
}
8989
}

src/FormlyMapper/FormlyField/NumberField.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,8 @@ protected function buildFieldTypeConfiguration(): void
2424
if (isset($this->fieldConfiguration['validation'])) {
2525
$validation = $this->fieldConfiguration['validation'];
2626

27-
if (isset($validation['Symfony\Component\Validator\Constraints\Range'])) {
28-
$constraint = $validation['Symfony\Component\Validator\Constraints\Range'];
27+
if (isset($validation[\Symfony\Component\Validator\Constraints\Range::class])) {
28+
$constraint = $validation[\Symfony\Component\Validator\Constraints\Range::class];
2929

3030
if (isset($constraint['min'])) {
3131
$this->formlyFieldConfiguration['templateOptions']['min'] = $constraint['min'];

src/FormlyMapper/FormlyField/UrlField.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,8 @@ protected function buildFieldTypeConfiguration(): void
2424
if (isset($this->fieldConfiguration['validation'])) {
2525
$validation = $this->fieldConfiguration['validation'];
2626

27-
if (isset($validation['Symfony\Component\Validator\Constraints\Url'])) {
28-
$constraint = $validation['Symfony\Component\Validator\Constraints\Url'];
27+
if (isset($validation[\Symfony\Component\Validator\Constraints\Url::class])) {
28+
$constraint = $validation[\Symfony\Component\Validator\Constraints\Url::class];
2929
$this->formlyFieldConfiguration['validation']['messages']['url'] = $constraint['message'] ?? '';
3030
}
3131
}

0 commit comments

Comments
 (0)