Skip to content

Commit 2d5604d

Browse files
committed
feature #164 ensure compatibility with Symfony 7.4 (xabbuh)
This PR was merged into the 0.4-dev branch. Discussion ---------- ensure compatibility with Symfony 7.4 Commits ------- 938cf54 ensure compatibility with Symfony 7.4
2 parents 7d14a22 + 938cf54 commit 2d5604d

File tree

4 files changed

+66
-38
lines changed

4 files changed

+66
-38
lines changed

.github/workflows/ci.yaml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,18 +66,27 @@ jobs:
6666
- php-version: '8.2'
6767
composer-options: '--prefer-stable'
6868
symfony-version: '7.3.*'
69+
- php-version: '8.2'
70+
composer-options: '--prefer-stable'
71+
symfony-version: '7.4.*'
6972
- php-version: '8.3'
7073
composer-options: '--prefer-stable'
7174
symfony-version: '6.4.*'
7275
- php-version: '8.3'
7376
composer-options: '--prefer-stable'
7477
symfony-version: '7.3.*'
78+
- php-version: '8.3'
79+
composer-options: '--prefer-stable'
80+
symfony-version: '7.4.*'
7581
- php-version: '8.4'
7682
composer-options: '--prefer-stable'
7783
symfony-version: '6.4.*'
7884
- php-version: '8.4'
7985
composer-options: '--prefer-stable'
8086
symfony-version: '7.3.*'
87+
- php-version: '8.4'
88+
composer-options: '--prefer-stable'
89+
symfony-version: '7.4.*'
8190

8291
steps:
8392
- name: 'Check out'

src/Qossmic/DependencyInjection/RichModelFormsExtension.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
use Symfony\Component\Config\FileLocator;
1919
use Symfony\Component\DependencyInjection\ContainerBuilder;
2020
use Symfony\Component\DependencyInjection\Extension\Extension;
21-
use Symfony\Component\DependencyInjection\Loader\XmlFileLoader;
21+
use Symfony\Component\DependencyInjection\Loader\PhpFileLoader;
2222

2323
/**
2424
* @author Christian Flothmann <[email protected]>
@@ -29,7 +29,7 @@ final class RichModelFormsExtension extends Extension
2929
{
3030
public function load(array $configs, ContainerBuilder $container): void
3131
{
32-
$loader = new XmlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config'));
33-
$loader->load('services.xml');
32+
$loader = new PhpFileLoader($container, new FileLocator(__DIR__.'/../Resources/config'));
33+
$loader->load('services.php');
3434
}
3535
}
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
<?php
2+
3+
/*
4+
* This file is part of the RichModelFormsBundle package.
5+
*
6+
* (c) Christian Flothmann <[email protected]>
7+
* (c) Christopher Hertel <[email protected]>
8+
* (c) QOSSMIC GmbH <[email protected]>
9+
*
10+
* For the full copyright and license information, please view the LICENSE
11+
* file that was distributed with this source code.
12+
*/
13+
14+
declare(strict_types = 1);
15+
16+
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
17+
18+
use Qossmic\RichModelForms\ExceptionHandling\ArgumentTypeMismatchExceptionHandler;
19+
use Qossmic\RichModelForms\ExceptionHandling\ExceptionHandlerRegistry;
20+
use Qossmic\RichModelForms\ExceptionHandling\FallbackExceptionHandler;
21+
use Qossmic\RichModelForms\ExceptionHandling\FormExceptionHandler;
22+
use Qossmic\RichModelForms\Extension\RichModelFormsTypeExtension;
23+
use Symfony\Component\Form\Extension\Core\Type\FormType;
24+
25+
return static function (ContainerConfigurator $container): void {
26+
$container->services()
27+
->set('qossmic.rich_model_forms.type_extension', RichModelFormsTypeExtension::class)
28+
->args([
29+
service('property_accessor'),
30+
service('qossmic.rich_model_forms.exception_handler.registry'),
31+
service('qossmic.rich_model_forms.form_exception_handler'),
32+
])
33+
->tag('form.type_extension', ['extended_type' => FormType::class])
34+
35+
->set('qossmic.rich_model_forms.form_exception_handler', FormExceptionHandler::class)
36+
->args([
37+
service('qossmic.rich_model_forms.exception_handler.registry'),
38+
service('translator')->ignoreOnInvalid(),
39+
'%validator.translation_domain%',
40+
])
41+
42+
->set('qossmic.rich_model_forms.exception_handler.registry', ExceptionHandlerRegistry::class)
43+
->args([
44+
abstract_arg('service locator'),
45+
abstract_arg('exception handling strategies'),
46+
])
47+
48+
->set('qossmic.rich_model_forms.exception_handler.strategy.argument_type_mismatch', ArgumentTypeMismatchExceptionHandler::class)
49+
->tag('qossmic.rich_model_forms.exception_handler', ['strategy' => 'type_error'])
50+
51+
->set('qossmic.rich_model_forms.exception_handler.strategy.fallback', FallbackExceptionHandler::class)
52+
->tag('qossmic.rich_model_forms.exception_handler', ['strategy' => 'fallback'])
53+
;
54+
};

src/Qossmic/Resources/config/services.xml

Lines changed: 0 additions & 35 deletions
This file was deleted.

0 commit comments

Comments
 (0)