Skip to content

Commit dc8a72a

Browse files
committed
Migrate configuration from XML to PHP
Follows the same approach as master branch (46fdbd8), preserving all 3.x-specific features (cleanup command and interface aliases).
1 parent 45c3a9a commit dc8a72a

30 files changed

+510
-386
lines changed

.php-cs-fixer.php

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,20 @@
22
// see https://github.com/FriendsOfPHP/PHP-CS-Fixer
33

44
$finder = (new PhpCsFixer\Finder())
5-
->in([__DIR__.'/src', __DIR__.'/tests'])
5+
->in([__DIR__.'/config', __DIR__.'/src', __DIR__.'/tests'])
66
;
77

88
return (new PhpCsFixer\Config())
99
->setRiskyAllowed(true)
1010
->setRules([
1111
'@Symfony' => true,
1212
'@Symfony:risky' => true,
13-
'@PHP81Migration' => true,
14-
'@PHPUnit100Migration:risky' => true,
13+
'@PHP8x1Migration' => true,
14+
'@PHPUnit10x0Migration:risky' => true,
1515
'declare_strict_types' => false,
16-
'native_function_invocation' => ['include' => ['@all']],
16+
'native_function_invocation' => [
17+
'include' => ['@internal'],
18+
],
1719
'fopen_flags' => ['b_mode' => true],
1820
'php_unit_mock_short_will_return' => true,
1921
'new_with_parentheses' => true,

config/adapter.php

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
<?php
2+
3+
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
4+
5+
use Vich\UploaderBundle\Adapter\ODM\MongoDB\MongoDBAdapter;
6+
use Vich\UploaderBundle\Adapter\ORM\DoctrineORMAdapter;
7+
use Vich\UploaderBundle\Adapter\PHPCR\PHPCRAdapter;
8+
9+
return static function (ContainerConfigurator $container): void {
10+
$services = $container->services();
11+
12+
$services->set('vich_uploader.adapter.mongodb', MongoDBAdapter::class);
13+
$services->set('vich_uploader.adapter.orm', DoctrineORMAdapter::class);
14+
$services->set('vich_uploader.adapter.phpcr', PHPCRAdapter::class);
15+
};

config/adapter.xml

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

config/collector.php

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
<?php
2+
3+
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
4+
5+
use Vich\UploaderBundle\DataCollector\MappingCollector;
6+
7+
return static function (ContainerConfigurator $container): void {
8+
$services = $container->services();
9+
10+
$services->set(MappingCollector::class)
11+
->args([
12+
service('vich_uploader.metadata_reader'),
13+
])
14+
->tag('data_collector', [
15+
'template' => '@VichUploader/Collector/mapping_collector.html.twig',
16+
'id' => 'vich_uploader.mapping_collector',
17+
]);
18+
};

config/collector.xml

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

config/command.php

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
<?php
2+
3+
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
4+
5+
use Vich\UploaderBundle\Command\CleanupCommand;
6+
use Vich\UploaderBundle\Command\MappingDebugClassCommand;
7+
use Vich\UploaderBundle\Command\MappingDebugCommand;
8+
use Vich\UploaderBundle\Command\MappingListClassesCommand;
9+
10+
return static function (ContainerConfigurator $container): void {
11+
$services = $container->services();
12+
13+
$services->set('vich_uploader.command.mapping_debug_class', MappingDebugClassCommand::class)
14+
->args([
15+
service('vich_uploader.metadata_reader'),
16+
])
17+
->tag('console.command', ['command' => 'vich:mapping:debug-class']);
18+
19+
$services->set('vich_uploader.command.mapping_debug', MappingDebugCommand::class)
20+
->args([
21+
param('vich_uploader.mappings'),
22+
])
23+
->tag('console.command', ['command' => 'vich:mapping:debug']);
24+
25+
$services->set('vich_uploader.command.mapping_list_classes', MappingListClassesCommand::class)
26+
->args([
27+
service('vich_uploader.metadata_reader'),
28+
])
29+
->tag('console.command', ['command' => 'vich:mapping:list-classes']);
30+
31+
$services->set('vich_uploader.command.cleanup', CleanupCommand::class)
32+
->args([
33+
service('vich_uploader.storage'),
34+
service('vich_uploader.property_mapping_factory'),
35+
service('vich_uploader.metadata_reader'),
36+
[], // manager registries, filled by compiler pass
37+
param('vich_uploader.mappings'),
38+
])
39+
->tag('console.command', ['command' => 'vich:cleanup']);
40+
};

config/command.xml

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

config/factory.php

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
<?php
2+
3+
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
4+
5+
use Vich\UploaderBundle\Mapping\PropertyMappingFactory;
6+
use Vich\UploaderBundle\Mapping\PropertyMappingFactoryInterface;
7+
use Vich\UploaderBundle\Mapping\PropertyMappingResolver;
8+
use Vich\UploaderBundle\Mapping\PropertyMappingResolverInterface;
9+
10+
return static function (ContainerConfigurator $container): void {
11+
$services = $container->services();
12+
13+
$services->set('vich_uploader.property_mapping_resolver', PropertyMappingResolver::class)
14+
->args([
15+
tagged_iterator('vich_uploader.namer', defaultIndexMethod: 'getId'),
16+
tagged_iterator('vich_uploader.dir_namer', defaultIndexMethod: 'getId'),
17+
param('vich_uploader.mappings'),
18+
param('vich_uploader.default_filename_attribute_suffix'),
19+
]);
20+
21+
$services->alias(PropertyMappingResolverInterface::class, 'vich_uploader.property_mapping_resolver');
22+
23+
$services->set('vich_uploader.property_mapping_factory', PropertyMappingFactory::class)
24+
->args([
25+
service('vich_uploader.metadata_reader'),
26+
service('vich_uploader.property_mapping_resolver'),
27+
]);
28+
29+
$services->alias(PropertyMappingFactory::class, 'vich_uploader.property_mapping_factory');
30+
$services->alias(PropertyMappingFactoryInterface::class, 'vich_uploader.property_mapping_factory');
31+
};

config/factory.xml

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

config/flysystem.php

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
<?php
2+
3+
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
4+
5+
use Vich\UploaderBundle\Storage\FlysystemStorage;
6+
7+
return static function (ContainerConfigurator $container): void {
8+
$services = $container->services();
9+
10+
$services->set('vich_uploader.storage.flysystem', FlysystemStorage::class)
11+
->args([
12+
service('vich_uploader.property_mapping_factory'),
13+
null, // Populated by RegisterFlysystemRegistryPass
14+
param('vich_uploader.use_flysystem_to_resolve_uri'),
15+
]);
16+
17+
$services->alias(FlysystemStorage::class, 'vich_uploader.storage.flysystem');
18+
};

0 commit comments

Comments
 (0)