1+ <?php
2+
3+ use Admingenerator \GeneratorBundle \CacheBuilder \GeneratorCacheBuilder ;
4+ use Admingenerator \GeneratorBundle \CacheWarmer \GeneratorCacheWarmer ;
5+ use Admingenerator \GeneratorBundle \Command \AssetsInstallCommand ;
6+ use Admingenerator \GeneratorBundle \Command \GenerateBaseClassesCommand ;
7+ use Admingenerator \GeneratorBundle \EventListener \ControllerListener ;
8+ use Admingenerator \GeneratorBundle \Maker \MakeAdmin ;
9+ use Admingenerator \GeneratorBundle \Pagerfanta \View \AdmingeneratorView ;
10+ use Admingenerator \GeneratorBundle \Routing \NestedRoutingLoader ;
11+ use Admingenerator \GeneratorBundle \Routing \RoutingLoader ;
12+ use Admingenerator \GeneratorBundle \Twig \Extension \ArrayExtension ;
13+ use Admingenerator \GeneratorBundle \Twig \Extension \ClassifyExtension ;
14+ use Admingenerator \GeneratorBundle \Twig \Extension \ConfigExtension ;
15+ use Admingenerator \GeneratorBundle \Twig \Extension \CsrfTokenExtension ;
16+ use Admingenerator \GeneratorBundle \Twig \Extension \EchoExtension ;
17+ use Admingenerator \GeneratorBundle \Twig \Extension \ExtendsAdmingeneratedExtension ;
18+ use Admingenerator \GeneratorBundle \Twig \Extension \LocalizedMoneyExtension ;
19+ use Admingenerator \GeneratorBundle \Twig \Extension \SecurityExtension ;
20+ use Admingenerator \GeneratorBundle \Validator \ModelClassValidator ;
21+ use Admingenerator \GeneratorBundle \Validator \PropelModelClassValidator ;
22+ use Symfony \Component \DependencyInjection \Loader \Configurator \ContainerConfigurator ;
23+ use Symfony \Component \Form \Extension \Validator \ValidatorTypeGuesser ;
24+ use Symfony \Component \Security \Core \Authorization \AuthorizationCheckerInterface ;
25+ use TwigGenerator \Extension \ExtraFilterExtension ;
26+ use TwigGenerator \Extension \PHPPrintExtension ;
27+ use TwigGenerator \Extension \TwigPrintExtension ;
28+ use function Symfony \Component \DependencyInjection \Loader \Configurator \param ;
29+ use function Symfony \Component \DependencyInjection \Loader \Configurator \service ;
30+
31+ return static function (ContainerConfigurator $ container ): void {
32+ $ container ->parameters ()
33+ ->set ('routing.loader.admingenerator.class ' , RoutingLoader::class)
34+ ->set ('routing.loader.admingenerator_nested.class ' , NestedRoutingLoader::class)
35+ ->set ('admingenerator.generator_cache_builder ' , GeneratorCacheBuilder::class)
36+ ->set ('admingenerator.cache_warmer.class ' , GeneratorCacheWarmer::class)
37+ ->set ('form.type_guesser.admingenerator.class ' , ValidatorTypeGuesser::class)
38+ ->set ('admingenerator.pagination.class ' , AdmingeneratorView::class)
39+ ->set ('admingenerator.base_admin_template ' , '@AdmingeneratorGenerator/base.html.twig ' )
40+ ->set ('admingenerator.overwrite_if_exists ' , false )
41+ ->set ('admingenerator.validator.model_class.class ' , ModelClassValidator::class)
42+ ->set ('admingenerator.validator.propel_model_class.class ' , PropelModelClassValidator::class);
43+
44+ $ services = $ container ->services ();
45+ $ configureTwigExtension = static fn (string $ id , string $ class ) => $ services ->set ($ id , $ class )->tag ('twig.extension ' );
46+ $ configureTwigExtension ('twig.extension.admingenerator.array ' , ArrayExtension::class);
47+ $ configureTwigExtension ('twig.extension.admingenerator.classify ' , ClassifyExtension::class);
48+ $ configureTwigExtension ('twig.extension.admingenerator.echo ' , EchoExtension::class);
49+ $ configureTwigExtension ('twig.extension.admingenerator.extra_filter ' , ExtraFilterExtension::class);
50+ $ configureTwigExtension ('twig.extension.admingenerator.twig_print ' , TwigPrintExtension::class);
51+ $ configureTwigExtension ('twig.extension.admingenerator.php_print ' , PHPPrintExtension::class);
52+ $ configureTwigExtension ('twig.extension.admingenerator.config ' , ConfigExtension::class)
53+ ->arg ('$bundleConfig ' , param ('admingenerator ' ));
54+ $ configureTwigExtension ('twig.extension.admingenerator.csrf ' , CsrfTokenExtension::class)
55+ ->arg ('$csrfTokenManager ' , service ('security.csrf.token_manager ' ));
56+ $ configureTwigExtension ('twig.extension.admingenerator.localized_money ' , LocalizedMoneyExtension::class);
57+ $ configureTwigExtension ('twig.extension.admingenerator.extends ' , ExtendsAdmingeneratedExtension::class);
58+ $ configureTwigExtension ('twig.extension.admingenerator.security ' , SecurityExtension::class)
59+ ->arg ('$authorizationChecker ' , AuthorizationCheckerInterface::class);
60+
61+ $ services ->set ('admingenerator.generator.listener ' , ControllerListener::class)
62+ ->tag ('kernel.event_listener ' , ['event ' => 'kernel.request ' , 'method ' => 'onKernelRequest ' ])
63+ ->arg ('$container ' , service ('service_container ' ))
64+ ->arg ('$twig ' , service ('twig ' ));
65+
66+ $ services ->set ('routing.loader.admingenerator ' , param ('routing.loader.admingenerator.class ' ))
67+ ->tag ('routing.loader ' )
68+ ->arg ('$locator ' , service ('file_locator ' ));
69+
70+ $ services ->set ('routing.loader.admingenerator_nested ' , param ('routing.loader.admingenerator_nested.class ' ))
71+ ->tag ('routing.loader ' )
72+ ->arg ('$locator ' , service ('file_locator ' ));
73+
74+ $ services ->set ('pagerfanta.view.admingenerator ' , param ('admingenerator.pagination.class ' ))
75+ ->tag ('pagerfanta.view ' , ['alias ' => 'admingenerator ' ])
76+ ->arg ('$translator ' , service ('translator ' ));
77+
78+ $ services ->set ('admingenerator.maker.make_admin ' , MakeAdmin::class)
79+ ->tag ('maker.command ' )
80+ ->tag ('container.no_preload ' );
81+
82+
83+ $ services ->set ('admingenerator.command.install-assets ' , AssetsInstallCommand::class)
84+ ->tag ('console.command ' , ['command ' => 'admin:install-assets ' ])
85+ ->arg ('$projectDir ' , param ('kernel.project_dir ' ));
86+
87+ $ services ->set ('admingenerator.validator.model_class ' , param ('admingenerator.validator.model_class.class ' ))
88+ ->tag ('admingenerator.validator ' , ['alias ' => 'model_class ' ]);
89+
90+ $ services ->set ('admingenerator.validator.propel_model_class ' , param ('admingenerator.validator.propel_model_class.class ' ))
91+ ->tag ('admingenerator.validator.propel ' , ['alias ' => 'propel_model_class ' ]);
92+
93+ $ services ->set ('admingenerator.generator_cache_builder ' , param ('admingenerator.generator_cache_builder ' ))
94+ ->arg ('$container ' , service ('service_container ' ));
95+
96+ $ services ->set ('admingenerator.cache_warmer ' , param ('admingenerator.cache_warmer.class ' ))
97+ ->tag ('kernel.cache_warmer ' , ['priority ' => 100 ])
98+ ->arg ('$generatorCacheBuilder ' , service ('admingenerator.generator_cache_builder ' ));
99+
100+ $ services ->set ('admingenerator.command.generate_base_classes ' , GenerateBaseClassesCommand::class)
101+ ->tag ('console.command ' , ['command ' => 'admin:generate-base-classes ' ])
102+ ->arg ('$generatorCacheBuilder ' , service ('admingenerator.generator_cache_builder ' ));
103+ };
0 commit comments