mirror of
https://github.com/Combodo/iTop.git
synced 2026-04-25 11:38:44 +02:00
migration symfony 5 4 (#300)
* symfony 5.4 (diff dev) * symfony 5.4 (working) * symfony 5.4 (update autoload) * symfony 5.4 (remove swiftmailer mailer implementation) * symfony 5.4 (php doc and split Global accessor class) ### Impacted packages: composer require php:">=7.2.5 <8.0.0" symfony/console:5.4.* symfony/dotenv:5.4.* symfony/framework-bundle:5.4.* symfony/twig-bundle:5.4.* symfony/yaml:5.4.* --update-with-dependencies composer require symfony/stopwatch:5.4.* symfony/web-profiler-bundle:5.4.* --dev --update-with-dependencies
This commit is contained in:
@@ -0,0 +1,83 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
|
||||
|
||||
use Doctrine\Common\Annotations\AnnotationReader;
|
||||
use Doctrine\Common\Annotations\AnnotationRegistry;
|
||||
use Doctrine\Common\Annotations\PsrCachedReader;
|
||||
use Doctrine\Common\Annotations\Reader;
|
||||
use Doctrine\Common\Cache\Psr6\DoctrineProvider;
|
||||
use Symfony\Bundle\FrameworkBundle\CacheWarmer\AnnotationsCacheWarmer;
|
||||
use Symfony\Component\Cache\Adapter\ArrayAdapter;
|
||||
use Symfony\Component\Cache\Adapter\FilesystemAdapter;
|
||||
use Symfony\Component\Cache\Adapter\PhpArrayAdapter;
|
||||
|
||||
return static function (ContainerConfigurator $container) {
|
||||
$container->services()
|
||||
->set('annotations.reader', AnnotationReader::class)
|
||||
->call('addGlobalIgnoredName', [
|
||||
'required',
|
||||
service('annotations.dummy_registry'), // dummy arg to register class_exists as annotation loader only when required
|
||||
])
|
||||
|
||||
->set('annotations.dummy_registry', AnnotationRegistry::class)
|
||||
->call('registerUniqueLoader', ['class_exists'])
|
||||
|
||||
->set('annotations.cached_reader', PsrCachedReader::class)
|
||||
->args([
|
||||
service('annotations.reader'),
|
||||
inline_service(ArrayAdapter::class),
|
||||
abstract_arg('Debug-Flag'),
|
||||
])
|
||||
->tag('annotations.cached_reader')
|
||||
->tag('container.do_not_inline')
|
||||
|
||||
->set('annotations.filesystem_cache_adapter', FilesystemAdapter::class)
|
||||
->args([
|
||||
'',
|
||||
0,
|
||||
abstract_arg('Cache-Directory'),
|
||||
])
|
||||
|
||||
->set('annotations.filesystem_cache', DoctrineProvider::class)
|
||||
->factory([DoctrineProvider::class, 'wrap'])
|
||||
->args([
|
||||
service('annotations.filesystem_cache_adapter'),
|
||||
])
|
||||
->deprecate('symfony/framework-bundle', '5.4', '"%service_id% is deprecated"')
|
||||
|
||||
->set('annotations.cache_warmer', AnnotationsCacheWarmer::class)
|
||||
->args([
|
||||
service('annotations.reader'),
|
||||
param('kernel.cache_dir').'/annotations.php',
|
||||
'#^Symfony\\\\(?:Component\\\\HttpKernel\\\\|Bundle\\\\FrameworkBundle\\\\Controller\\\\(?!.*Controller$))#',
|
||||
param('kernel.debug'),
|
||||
])
|
||||
|
||||
->set('annotations.cache_adapter', PhpArrayAdapter::class)
|
||||
->factory([PhpArrayAdapter::class, 'create'])
|
||||
->args([
|
||||
param('kernel.cache_dir').'/annotations.php',
|
||||
service('cache.annotations'),
|
||||
])
|
||||
->tag('container.hot_path')
|
||||
|
||||
->set('annotations.cache', DoctrineProvider::class)
|
||||
->factory([DoctrineProvider::class, 'wrap'])
|
||||
->args([
|
||||
service('annotations.cache_adapter'),
|
||||
])
|
||||
->deprecate('symfony/framework-bundle', '5.4', '"%service_id% is deprecated"')
|
||||
|
||||
->alias('annotation_reader', 'annotations.reader')
|
||||
->alias(Reader::class, 'annotation_reader');
|
||||
};
|
||||
@@ -1,57 +0,0 @@
|
||||
<?xml version="1.0" ?>
|
||||
|
||||
<container xmlns="http://symfony.com/schema/dic/services"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://symfony.com/schema/dic/services https://symfony.com/schema/dic/services/services-1.0.xsd">
|
||||
|
||||
<services>
|
||||
<defaults public="false" />
|
||||
|
||||
<service id="annotations.reader" class="Doctrine\Common\Annotations\AnnotationReader">
|
||||
<call method="addGlobalIgnoredName">
|
||||
<argument>required</argument>
|
||||
<!-- dummy arg to register class_exists as annotation loader only when required -->
|
||||
<argument type="service" id="annotations.dummy_registry" />
|
||||
</call>
|
||||
</service>
|
||||
|
||||
<service id="annotations.dummy_registry" class="Doctrine\Common\Annotations\AnnotationRegistry">
|
||||
<call method="registerUniqueLoader">
|
||||
<argument>class_exists</argument>
|
||||
</call>
|
||||
</service>
|
||||
|
||||
<service id="annotations.cached_reader" class="Doctrine\Common\Annotations\CachedReader">
|
||||
<argument type="service" id="annotations.reader" />
|
||||
<argument type="service">
|
||||
<service class="Doctrine\Common\Cache\ArrayCache" />
|
||||
</argument>
|
||||
<argument /><!-- Debug-Flag -->
|
||||
</service>
|
||||
|
||||
<service id="annotations.filesystem_cache" class="Doctrine\Common\Cache\FilesystemCache">
|
||||
<argument /><!-- Cache-Directory -->
|
||||
</service>
|
||||
|
||||
<service id="annotations.cache_warmer" class="Symfony\Bundle\FrameworkBundle\CacheWarmer\AnnotationsCacheWarmer">
|
||||
<argument type="service" id="annotations.reader" />
|
||||
<argument>%kernel.cache_dir%/annotations.php</argument>
|
||||
<argument type="service" id="cache.annotations" />
|
||||
<argument>#^Symfony\\(?:Component\\HttpKernel\\|Bundle\\FrameworkBundle\\Controller\\(?!.*Controller$))#</argument>
|
||||
<argument>%kernel.debug%</argument>
|
||||
</service>
|
||||
|
||||
<service id="annotations.cache" class="Symfony\Component\Cache\DoctrineProvider">
|
||||
<argument type="service">
|
||||
<service class="Symfony\Component\Cache\Adapter\PhpArrayAdapter">
|
||||
<factory class="Symfony\Component\Cache\Adapter\PhpArrayAdapter" method="create" />
|
||||
<argument>%kernel.cache_dir%/annotations.php</argument>
|
||||
<argument type="service" id="cache.annotations" />
|
||||
</service>
|
||||
</argument>
|
||||
</service>
|
||||
|
||||
<service id="annotation_reader" alias="annotations.reader" />
|
||||
<service id="Doctrine\Common\Annotations\Reader" alias="annotation_reader" />
|
||||
</services>
|
||||
</container>
|
||||
94
lib/symfony/framework-bundle/Resources/config/assets.php
Normal file
94
lib/symfony/framework-bundle/Resources/config/assets.php
Normal file
@@ -0,0 +1,94 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
|
||||
|
||||
use Symfony\Component\Asset\Context\RequestStackContext;
|
||||
use Symfony\Component\Asset\Package;
|
||||
use Symfony\Component\Asset\Packages;
|
||||
use Symfony\Component\Asset\PathPackage;
|
||||
use Symfony\Component\Asset\UrlPackage;
|
||||
use Symfony\Component\Asset\VersionStrategy\EmptyVersionStrategy;
|
||||
use Symfony\Component\Asset\VersionStrategy\JsonManifestVersionStrategy;
|
||||
use Symfony\Component\Asset\VersionStrategy\RemoteJsonManifestVersionStrategy;
|
||||
use Symfony\Component\Asset\VersionStrategy\StaticVersionStrategy;
|
||||
|
||||
return static function (ContainerConfigurator $container) {
|
||||
$container->parameters()
|
||||
->set('asset.request_context.base_path', null)
|
||||
->set('asset.request_context.secure', null)
|
||||
;
|
||||
|
||||
$container->services()
|
||||
->set('assets.packages', Packages::class)
|
||||
->args([
|
||||
service('assets._default_package'),
|
||||
tagged_iterator('assets.package', 'package'),
|
||||
])
|
||||
|
||||
->alias(Packages::class, 'assets.packages')
|
||||
|
||||
->set('assets.empty_package', Package::class)
|
||||
->args([
|
||||
service('assets.empty_version_strategy'),
|
||||
])
|
||||
|
||||
->alias('assets._default_package', 'assets.empty_package')
|
||||
|
||||
->set('assets.context', RequestStackContext::class)
|
||||
->args([
|
||||
service('request_stack'),
|
||||
param('asset.request_context.base_path'),
|
||||
param('asset.request_context.secure'),
|
||||
])
|
||||
|
||||
->set('assets.path_package', PathPackage::class)
|
||||
->abstract()
|
||||
->args([
|
||||
abstract_arg('base path'),
|
||||
abstract_arg('version strategy'),
|
||||
service('assets.context'),
|
||||
])
|
||||
|
||||
->set('assets.url_package', UrlPackage::class)
|
||||
->abstract()
|
||||
->args([
|
||||
abstract_arg('base URLs'),
|
||||
abstract_arg('version strategy'),
|
||||
service('assets.context'),
|
||||
])
|
||||
|
||||
->set('assets.static_version_strategy', StaticVersionStrategy::class)
|
||||
->abstract()
|
||||
->args([
|
||||
abstract_arg('version'),
|
||||
abstract_arg('format'),
|
||||
])
|
||||
|
||||
->set('assets.empty_version_strategy', EmptyVersionStrategy::class)
|
||||
|
||||
->set('assets.json_manifest_version_strategy', JsonManifestVersionStrategy::class)
|
||||
->abstract()
|
||||
->args([
|
||||
abstract_arg('manifest path'),
|
||||
service('http_client')->nullOnInvalid(),
|
||||
false,
|
||||
])
|
||||
|
||||
->set('assets.remote_json_manifest_version_strategy', RemoteJsonManifestVersionStrategy::class)
|
||||
->abstract()
|
||||
->deprecate('symfony/framework-bundle', '5.3', 'The "%service_id%" service is deprecated, use "assets.json_manifest_version_strategy" instead.')
|
||||
->args([
|
||||
abstract_arg('manifest url'),
|
||||
service('http_client'),
|
||||
])
|
||||
;
|
||||
};
|
||||
@@ -1,54 +0,0 @@
|
||||
<?xml version="1.0" ?>
|
||||
|
||||
<container xmlns="http://symfony.com/schema/dic/services"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://symfony.com/schema/dic/services https://symfony.com/schema/dic/services/services-1.0.xsd">
|
||||
|
||||
<parameters>
|
||||
<parameter key="asset.request_context.base_path"></parameter>
|
||||
<parameter key="asset.request_context.secure">false</parameter>
|
||||
</parameters>
|
||||
|
||||
<services>
|
||||
<defaults public="false" />
|
||||
|
||||
<service id="assets.packages" class="Symfony\Component\Asset\Packages">
|
||||
<argument type="service" id="assets.empty_package" /> <!-- default package -->
|
||||
<argument type="collection" /> <!-- named packages -->
|
||||
</service>
|
||||
<service id="Symfony\Component\Asset\Packages" alias="assets.packages" />
|
||||
|
||||
<service id="assets.empty_package" class="Symfony\Component\Asset\Package">
|
||||
<argument type="service" id="assets.empty_version_strategy" />
|
||||
</service>
|
||||
|
||||
<service id="assets.context" class="Symfony\Component\Asset\Context\RequestStackContext">
|
||||
<argument type="service" id="request_stack" />
|
||||
<argument>%asset.request_context.base_path%</argument>
|
||||
<argument>%asset.request_context.secure%</argument>
|
||||
</service>
|
||||
|
||||
<service id="assets.path_package" class="Symfony\Component\Asset\PathPackage" abstract="true">
|
||||
<argument /> <!-- base path -->
|
||||
<argument /> <!-- version strategy -->
|
||||
<argument type="service" id="assets.context" />
|
||||
</service>
|
||||
|
||||
<service id="assets.url_package" class="Symfony\Component\Asset\UrlPackage" abstract="true">
|
||||
<argument /> <!-- base URLs -->
|
||||
<argument /> <!-- version strategy -->
|
||||
<argument type="service" id="assets.context" />
|
||||
</service>
|
||||
|
||||
<service id="assets.static_version_strategy" class="Symfony\Component\Asset\VersionStrategy\StaticVersionStrategy" abstract="true">
|
||||
<argument /> <!-- version -->
|
||||
<argument /> <!-- format -->
|
||||
</service>
|
||||
|
||||
<service id="assets.empty_version_strategy" class="Symfony\Component\Asset\VersionStrategy\EmptyVersionStrategy" />
|
||||
|
||||
<service id="assets.json_manifest_version_strategy" class="Symfony\Component\Asset\VersionStrategy\JsonManifestVersionStrategy" abstract="true">
|
||||
<argument /> <!-- manifest path -->
|
||||
</service>
|
||||
</services>
|
||||
</container>
|
||||
267
lib/symfony/framework-bundle/Resources/config/cache.php
Normal file
267
lib/symfony/framework-bundle/Resources/config/cache.php
Normal file
@@ -0,0 +1,267 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
|
||||
|
||||
use Psr\Cache\CacheItemPoolInterface;
|
||||
use Symfony\Component\Cache\Adapter\AbstractAdapter;
|
||||
use Symfony\Component\Cache\Adapter\AdapterInterface;
|
||||
use Symfony\Component\Cache\Adapter\ApcuAdapter;
|
||||
use Symfony\Component\Cache\Adapter\ArrayAdapter;
|
||||
use Symfony\Component\Cache\Adapter\DoctrineAdapter;
|
||||
use Symfony\Component\Cache\Adapter\DoctrineDbalAdapter;
|
||||
use Symfony\Component\Cache\Adapter\FilesystemAdapter;
|
||||
use Symfony\Component\Cache\Adapter\MemcachedAdapter;
|
||||
use Symfony\Component\Cache\Adapter\PdoAdapter;
|
||||
use Symfony\Component\Cache\Adapter\ProxyAdapter;
|
||||
use Symfony\Component\Cache\Adapter\RedisAdapter;
|
||||
use Symfony\Component\Cache\Adapter\RedisTagAwareAdapter;
|
||||
use Symfony\Component\Cache\Adapter\TagAwareAdapter;
|
||||
use Symfony\Component\Cache\Marshaller\DefaultMarshaller;
|
||||
use Symfony\Component\Cache\Messenger\EarlyExpirationHandler;
|
||||
use Symfony\Component\HttpKernel\CacheClearer\Psr6CacheClearer;
|
||||
use Symfony\Contracts\Cache\CacheInterface;
|
||||
use Symfony\Contracts\Cache\TagAwareCacheInterface;
|
||||
|
||||
return static function (ContainerConfigurator $container) {
|
||||
$container->services()
|
||||
->set('cache.app')
|
||||
->parent('cache.adapter.filesystem')
|
||||
->public()
|
||||
->tag('cache.pool', ['clearer' => 'cache.app_clearer'])
|
||||
|
||||
->set('cache.app.taggable', TagAwareAdapter::class)
|
||||
->args([service('cache.app')])
|
||||
|
||||
->set('cache.system')
|
||||
->parent('cache.adapter.system')
|
||||
->public()
|
||||
->tag('cache.pool')
|
||||
|
||||
->set('cache.validator')
|
||||
->parent('cache.system')
|
||||
->private()
|
||||
->tag('cache.pool')
|
||||
|
||||
->set('cache.serializer')
|
||||
->parent('cache.system')
|
||||
->private()
|
||||
->tag('cache.pool')
|
||||
|
||||
->set('cache.annotations')
|
||||
->parent('cache.system')
|
||||
->private()
|
||||
->tag('cache.pool')
|
||||
|
||||
->set('cache.property_info')
|
||||
->parent('cache.system')
|
||||
->private()
|
||||
->tag('cache.pool')
|
||||
|
||||
->set('cache.messenger.restart_workers_signal')
|
||||
->parent('cache.app')
|
||||
->private()
|
||||
->tag('cache.pool')
|
||||
|
||||
->set('cache.adapter.system', AdapterInterface::class)
|
||||
->abstract()
|
||||
->factory([AbstractAdapter::class, 'createSystemCache'])
|
||||
->args([
|
||||
'', // namespace
|
||||
0, // default lifetime
|
||||
abstract_arg('version'),
|
||||
sprintf('%s/pools/system', param('kernel.cache_dir')),
|
||||
service('logger')->ignoreOnInvalid(),
|
||||
])
|
||||
->tag('cache.pool', ['clearer' => 'cache.system_clearer', 'reset' => 'reset'])
|
||||
->tag('monolog.logger', ['channel' => 'cache'])
|
||||
|
||||
->set('cache.adapter.apcu', ApcuAdapter::class)
|
||||
->abstract()
|
||||
->args([
|
||||
'', // namespace
|
||||
0, // default lifetime
|
||||
abstract_arg('version'),
|
||||
])
|
||||
->call('setLogger', [service('logger')->ignoreOnInvalid()])
|
||||
->tag('cache.pool', ['clearer' => 'cache.default_clearer', 'reset' => 'reset'])
|
||||
->tag('monolog.logger', ['channel' => 'cache'])
|
||||
|
||||
->set('cache.adapter.doctrine', DoctrineAdapter::class)
|
||||
->abstract()
|
||||
->args([
|
||||
abstract_arg('Doctrine provider service'),
|
||||
'', // namespace
|
||||
0, // default lifetime
|
||||
])
|
||||
->call('setLogger', [service('logger')->ignoreOnInvalid()])
|
||||
->tag('cache.pool', [
|
||||
'provider' => 'cache.default_doctrine_provider',
|
||||
'clearer' => 'cache.default_clearer',
|
||||
'reset' => 'reset',
|
||||
])
|
||||
->tag('monolog.logger', ['channel' => 'cache'])
|
||||
->deprecate('symfony/framework-bundle', '5.4', 'The "%service_id%" service inherits from "cache.adapter.doctrine" which is deprecated.')
|
||||
|
||||
->set('cache.adapter.filesystem', FilesystemAdapter::class)
|
||||
->abstract()
|
||||
->args([
|
||||
'', // namespace
|
||||
0, // default lifetime
|
||||
sprintf('%s/pools/app', param('kernel.cache_dir')),
|
||||
service('cache.default_marshaller')->ignoreOnInvalid(),
|
||||
])
|
||||
->call('setLogger', [service('logger')->ignoreOnInvalid()])
|
||||
->tag('cache.pool', ['clearer' => 'cache.default_clearer', 'reset' => 'reset'])
|
||||
->tag('monolog.logger', ['channel' => 'cache'])
|
||||
|
||||
->set('cache.adapter.psr6', ProxyAdapter::class)
|
||||
->abstract()
|
||||
->args([
|
||||
abstract_arg('PSR-6 provider service'),
|
||||
'', // namespace
|
||||
0, // default lifetime
|
||||
])
|
||||
->tag('cache.pool', [
|
||||
'provider' => 'cache.default_psr6_provider',
|
||||
'clearer' => 'cache.default_clearer',
|
||||
'reset' => 'reset',
|
||||
])
|
||||
|
||||
->set('cache.adapter.redis', RedisAdapter::class)
|
||||
->abstract()
|
||||
->args([
|
||||
abstract_arg('Redis connection service'),
|
||||
'', // namespace
|
||||
0, // default lifetime
|
||||
service('cache.default_marshaller')->ignoreOnInvalid(),
|
||||
])
|
||||
->call('setLogger', [service('logger')->ignoreOnInvalid()])
|
||||
->tag('cache.pool', [
|
||||
'provider' => 'cache.default_redis_provider',
|
||||
'clearer' => 'cache.default_clearer',
|
||||
'reset' => 'reset',
|
||||
])
|
||||
->tag('monolog.logger', ['channel' => 'cache'])
|
||||
|
||||
->set('cache.adapter.redis_tag_aware', RedisTagAwareAdapter::class)
|
||||
->abstract()
|
||||
->args([
|
||||
abstract_arg('Redis connection service'),
|
||||
'', // namespace
|
||||
0, // default lifetime
|
||||
service('cache.default_marshaller')->ignoreOnInvalid(),
|
||||
])
|
||||
->call('setLogger', [service('logger')->ignoreOnInvalid()])
|
||||
->tag('cache.pool', [
|
||||
'provider' => 'cache.default_redis_provider',
|
||||
'clearer' => 'cache.default_clearer',
|
||||
'reset' => 'reset',
|
||||
])
|
||||
->tag('monolog.logger', ['channel' => 'cache'])
|
||||
|
||||
->set('cache.adapter.memcached', MemcachedAdapter::class)
|
||||
->abstract()
|
||||
->args([
|
||||
abstract_arg('Memcached connection service'),
|
||||
'', // namespace
|
||||
0, // default lifetime
|
||||
service('cache.default_marshaller')->ignoreOnInvalid(),
|
||||
])
|
||||
->call('setLogger', [service('logger')->ignoreOnInvalid()])
|
||||
->tag('cache.pool', [
|
||||
'provider' => 'cache.default_memcached_provider',
|
||||
'clearer' => 'cache.default_clearer',
|
||||
'reset' => 'reset',
|
||||
])
|
||||
->tag('monolog.logger', ['channel' => 'cache'])
|
||||
|
||||
->set('cache.adapter.doctrine_dbal', DoctrineDbalAdapter::class)
|
||||
->abstract()
|
||||
->args([
|
||||
abstract_arg('DBAL connection service'),
|
||||
'', // namespace
|
||||
0, // default lifetime
|
||||
[], // table options
|
||||
service('cache.default_marshaller')->ignoreOnInvalid(),
|
||||
])
|
||||
->call('setLogger', [service('logger')->ignoreOnInvalid()])
|
||||
->tag('cache.pool', [
|
||||
'provider' => 'cache.default_doctrine_dbal_provider',
|
||||
'clearer' => 'cache.default_clearer',
|
||||
'reset' => 'reset',
|
||||
])
|
||||
->tag('monolog.logger', ['channel' => 'cache'])
|
||||
|
||||
->set('cache.adapter.pdo', PdoAdapter::class)
|
||||
->abstract()
|
||||
->args([
|
||||
abstract_arg('PDO connection service'),
|
||||
'', // namespace
|
||||
0, // default lifetime
|
||||
[], // table options
|
||||
service('cache.default_marshaller')->ignoreOnInvalid(),
|
||||
])
|
||||
->call('setLogger', [service('logger')->ignoreOnInvalid()])
|
||||
->tag('cache.pool', [
|
||||
'provider' => 'cache.default_pdo_provider',
|
||||
'clearer' => 'cache.default_clearer',
|
||||
'reset' => 'reset',
|
||||
])
|
||||
->tag('monolog.logger', ['channel' => 'cache'])
|
||||
|
||||
->set('cache.adapter.array', ArrayAdapter::class)
|
||||
->abstract()
|
||||
->args([
|
||||
0, // default lifetime
|
||||
])
|
||||
->call('setLogger', [service('logger')->ignoreOnInvalid()])
|
||||
->tag('cache.pool', ['clearer' => 'cache.default_clearer', 'reset' => 'reset'])
|
||||
->tag('monolog.logger', ['channel' => 'cache'])
|
||||
|
||||
->set('cache.default_marshaller', DefaultMarshaller::class)
|
||||
->args([
|
||||
null, // use igbinary_serialize() when available
|
||||
'%kernel.debug%',
|
||||
])
|
||||
|
||||
->set('cache.early_expiration_handler', EarlyExpirationHandler::class)
|
||||
->args([
|
||||
service('reverse_container'),
|
||||
])
|
||||
->tag('messenger.message_handler')
|
||||
|
||||
->set('cache.default_clearer', Psr6CacheClearer::class)
|
||||
->args([
|
||||
[],
|
||||
])
|
||||
|
||||
->set('cache.system_clearer')
|
||||
->parent('cache.default_clearer')
|
||||
->public()
|
||||
|
||||
->set('cache.global_clearer')
|
||||
->parent('cache.default_clearer')
|
||||
->public()
|
||||
|
||||
->alias('cache.app_clearer', 'cache.default_clearer')
|
||||
->public()
|
||||
|
||||
->alias(CacheItemPoolInterface::class, 'cache.app')
|
||||
|
||||
->alias(AdapterInterface::class, 'cache.app')
|
||||
->deprecate('symfony/framework-bundle', '5.4', sprintf('The "%%alias_id%%" alias is deprecated, use "%s" instead.', CacheItemPoolInterface::class))
|
||||
|
||||
->alias(CacheInterface::class, 'cache.app')
|
||||
|
||||
->alias(TagAwareCacheInterface::class, 'cache.app.taggable')
|
||||
;
|
||||
};
|
||||
@@ -1,114 +0,0 @@
|
||||
<?xml version="1.0" ?>
|
||||
|
||||
<container xmlns="http://symfony.com/schema/dic/services"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://symfony.com/schema/dic/services https://symfony.com/schema/dic/services/services-1.0.xsd">
|
||||
|
||||
<services>
|
||||
<defaults public="false" />
|
||||
|
||||
<service id="cache.app" parent="cache.adapter.filesystem" public="true">
|
||||
<tag name="cache.pool" clearer="cache.app_clearer" />
|
||||
</service>
|
||||
|
||||
<service id="cache.system" parent="cache.adapter.system" public="true">
|
||||
<tag name="cache.pool" />
|
||||
</service>
|
||||
|
||||
<service id="cache.validator" parent="cache.system" public="false">
|
||||
<tag name="cache.pool" />
|
||||
</service>
|
||||
|
||||
<service id="cache.serializer" parent="cache.system" public="false">
|
||||
<tag name="cache.pool" />
|
||||
</service>
|
||||
|
||||
<service id="cache.annotations" parent="cache.system" public="false">
|
||||
<tag name="cache.pool" />
|
||||
</service>
|
||||
|
||||
<service id="cache.adapter.system" class="Symfony\Component\Cache\Adapter\AdapterInterface" abstract="true">
|
||||
<factory class="Symfony\Component\Cache\Adapter\AbstractAdapter" method="createSystemCache" />
|
||||
<tag name="cache.pool" clearer="cache.system_clearer" reset="reset" />
|
||||
<tag name="monolog.logger" channel="cache" />
|
||||
<argument /> <!-- namespace -->
|
||||
<argument>0</argument> <!-- default lifetime -->
|
||||
<argument /> <!-- version -->
|
||||
<argument>%kernel.cache_dir%/pools</argument>
|
||||
<argument type="service" id="logger" on-invalid="ignore" />
|
||||
</service>
|
||||
|
||||
<service id="cache.adapter.apcu" class="Symfony\Component\Cache\Adapter\ApcuAdapter" abstract="true">
|
||||
<tag name="cache.pool" clearer="cache.default_clearer" reset="reset" />
|
||||
<tag name="monolog.logger" channel="cache" />
|
||||
<argument /> <!-- namespace -->
|
||||
<argument>0</argument> <!-- default lifetime -->
|
||||
<argument /> <!-- version -->
|
||||
<call method="setLogger">
|
||||
<argument type="service" id="logger" on-invalid="ignore" />
|
||||
</call>
|
||||
</service>
|
||||
|
||||
<service id="cache.adapter.doctrine" class="Symfony\Component\Cache\Adapter\DoctrineAdapter" abstract="true">
|
||||
<tag name="cache.pool" provider="cache.default_doctrine_provider" clearer="cache.default_clearer" reset="reset" />
|
||||
<tag name="monolog.logger" channel="cache" />
|
||||
<argument /> <!-- Doctrine provider service -->
|
||||
<argument /> <!-- namespace -->
|
||||
<argument>0</argument> <!-- default lifetime -->
|
||||
<call method="setLogger">
|
||||
<argument type="service" id="logger" on-invalid="ignore" />
|
||||
</call>
|
||||
</service>
|
||||
|
||||
<service id="cache.adapter.filesystem" class="Symfony\Component\Cache\Adapter\FilesystemAdapter" abstract="true">
|
||||
<tag name="cache.pool" clearer="cache.default_clearer" reset="reset" />
|
||||
<tag name="monolog.logger" channel="cache" />
|
||||
<argument /> <!-- namespace -->
|
||||
<argument>0</argument> <!-- default lifetime -->
|
||||
<argument>%kernel.cache_dir%/pools</argument>
|
||||
<call method="setLogger">
|
||||
<argument type="service" id="logger" on-invalid="ignore" />
|
||||
</call>
|
||||
</service>
|
||||
|
||||
<service id="cache.adapter.psr6" class="Symfony\Component\Cache\Adapter\ProxyAdapter" abstract="true">
|
||||
<tag name="cache.pool" provider="cache.default_psr6_provider" clearer="cache.default_clearer" reset="reset" />
|
||||
<argument /> <!-- PSR-6 provider service -->
|
||||
<argument /> <!-- namespace -->
|
||||
<argument>0</argument> <!-- default lifetime -->
|
||||
</service>
|
||||
|
||||
<service id="cache.adapter.redis" class="Symfony\Component\Cache\Adapter\RedisAdapter" abstract="true">
|
||||
<tag name="cache.pool" provider="cache.default_redis_provider" clearer="cache.default_clearer" reset="reset" />
|
||||
<tag name="monolog.logger" channel="cache" />
|
||||
<argument /> <!-- Redis connection service -->
|
||||
<argument /> <!-- namespace -->
|
||||
<argument>0</argument> <!-- default lifetime -->
|
||||
<call method="setLogger">
|
||||
<argument type="service" id="logger" on-invalid="ignore" />
|
||||
</call>
|
||||
</service>
|
||||
|
||||
<service id="cache.adapter.memcached" class="Symfony\Component\Cache\Adapter\MemcachedAdapter" abstract="true">
|
||||
<tag name="cache.pool" provider="cache.default_memcached_provider" clearer="cache.default_clearer" reset="reset" />
|
||||
<tag name="monolog.logger" channel="cache" />
|
||||
<argument /> <!-- Memcached connection service -->
|
||||
<argument /> <!-- namespace -->
|
||||
<argument>0</argument> <!-- default lifetime -->
|
||||
<call method="setLogger">
|
||||
<argument type="service" id="logger" on-invalid="ignore" />
|
||||
</call>
|
||||
</service>
|
||||
|
||||
<service id="cache.default_clearer" class="Symfony\Component\HttpKernel\CacheClearer\Psr6CacheClearer">
|
||||
<argument type="collection" />
|
||||
</service>
|
||||
|
||||
<service id="cache.system_clearer" parent="cache.default_clearer" public="true" />
|
||||
|
||||
<service id="cache.global_clearer" parent="cache.default_clearer" public="true" />
|
||||
<service id="cache.app_clearer" alias="cache.default_clearer" public="true" />
|
||||
<service id="Psr\Cache\CacheItemPoolInterface" alias="cache.app" />
|
||||
<service id="Symfony\Component\Cache\Adapter\AdapterInterface" alias="cache.app" />
|
||||
</services>
|
||||
</container>
|
||||
@@ -0,0 +1,39 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
|
||||
|
||||
use Symfony\Bundle\FrameworkBundle\CacheWarmer\CachePoolClearerCacheWarmer;
|
||||
use Symfony\Component\Cache\DataCollector\CacheDataCollector;
|
||||
|
||||
return static function (ContainerConfigurator $container) {
|
||||
$container->services()
|
||||
// DataCollector (public to prevent inlining, made private in CacheCollectorPass)
|
||||
->set('data_collector.cache', CacheDataCollector::class)
|
||||
->public()
|
||||
->tag('data_collector', [
|
||||
'template' => '@WebProfiler/Collector/cache.html.twig',
|
||||
'id' => 'cache',
|
||||
'priority' => 275,
|
||||
])
|
||||
|
||||
// CacheWarmer used in dev to clear cache pool
|
||||
->set('cache_pool_clearer.cache_warmer', CachePoolClearerCacheWarmer::class)
|
||||
->args([
|
||||
service('cache.system_clearer'),
|
||||
[
|
||||
'cache.validator',
|
||||
'cache.serializer',
|
||||
],
|
||||
])
|
||||
->tag('kernel.cache_warmer', ['priority' => 64])
|
||||
;
|
||||
};
|
||||
@@ -1,15 +0,0 @@
|
||||
<?xml version="1.0" ?>
|
||||
|
||||
<container xmlns="http://symfony.com/schema/dic/services"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://symfony.com/schema/dic/services https://symfony.com/schema/dic/services/services-1.0.xsd">
|
||||
|
||||
<services>
|
||||
<defaults public="false" />
|
||||
|
||||
<!-- DataCollector (public to prevent inlining, made private in CacheCollectorPass) -->
|
||||
<service id="data_collector.cache" class="Symfony\Component\Cache\DataCollector\CacheDataCollector" public="true">
|
||||
<tag name="data_collector" template="@WebProfiler/Collector/cache.html.twig" id="cache" priority="275" />
|
||||
</service>
|
||||
</services>
|
||||
</container>
|
||||
78
lib/symfony/framework-bundle/Resources/config/collectors.php
Normal file
78
lib/symfony/framework-bundle/Resources/config/collectors.php
Normal file
@@ -0,0 +1,78 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
|
||||
|
||||
use Symfony\Bundle\FrameworkBundle\DataCollector\RouterDataCollector;
|
||||
use Symfony\Component\HttpKernel\DataCollector\AjaxDataCollector;
|
||||
use Symfony\Component\HttpKernel\DataCollector\ConfigDataCollector;
|
||||
use Symfony\Component\HttpKernel\DataCollector\EventDataCollector;
|
||||
use Symfony\Component\HttpKernel\DataCollector\ExceptionDataCollector;
|
||||
use Symfony\Component\HttpKernel\DataCollector\LoggerDataCollector;
|
||||
use Symfony\Component\HttpKernel\DataCollector\MemoryDataCollector;
|
||||
use Symfony\Component\HttpKernel\DataCollector\RequestDataCollector;
|
||||
use Symfony\Component\HttpKernel\DataCollector\TimeDataCollector;
|
||||
use Symfony\Component\HttpKernel\KernelEvents;
|
||||
|
||||
return static function (ContainerConfigurator $container) {
|
||||
$container->services()
|
||||
->set('data_collector.config', ConfigDataCollector::class)
|
||||
->call('setKernel', [service('kernel')->ignoreOnInvalid()])
|
||||
->tag('data_collector', ['template' => '@WebProfiler/Collector/config.html.twig', 'id' => 'config', 'priority' => -255])
|
||||
|
||||
->set('data_collector.request', RequestDataCollector::class)
|
||||
->args([
|
||||
service('request_stack')->ignoreOnInvalid(),
|
||||
])
|
||||
->tag('kernel.event_subscriber')
|
||||
->tag('data_collector', ['template' => '@WebProfiler/Collector/request.html.twig', 'id' => 'request', 'priority' => 335])
|
||||
|
||||
->set('data_collector.request.session_collector', \Closure::class)
|
||||
->factory([\Closure::class, 'fromCallable'])
|
||||
->args([[service('data_collector.request'), 'collectSessionUsage']])
|
||||
|
||||
->set('data_collector.ajax', AjaxDataCollector::class)
|
||||
->tag('data_collector', ['template' => '@WebProfiler/Collector/ajax.html.twig', 'id' => 'ajax', 'priority' => 315])
|
||||
|
||||
->set('data_collector.exception', ExceptionDataCollector::class)
|
||||
->tag('data_collector', ['template' => '@WebProfiler/Collector/exception.html.twig', 'id' => 'exception', 'priority' => 305])
|
||||
|
||||
->set('data_collector.events', EventDataCollector::class)
|
||||
->args([
|
||||
service('debug.event_dispatcher')->ignoreOnInvalid(),
|
||||
service('request_stack')->ignoreOnInvalid(),
|
||||
])
|
||||
->tag('data_collector', ['template' => '@WebProfiler/Collector/events.html.twig', 'id' => 'events', 'priority' => 290])
|
||||
|
||||
->set('data_collector.logger', LoggerDataCollector::class)
|
||||
->args([
|
||||
service('logger')->ignoreOnInvalid(),
|
||||
sprintf('%s/%s', param('kernel.build_dir'), param('kernel.container_class')),
|
||||
service('request_stack')->ignoreOnInvalid(),
|
||||
])
|
||||
->tag('monolog.logger', ['channel' => 'profiler'])
|
||||
->tag('data_collector', ['template' => '@WebProfiler/Collector/logger.html.twig', 'id' => 'logger', 'priority' => 300])
|
||||
|
||||
->set('data_collector.time', TimeDataCollector::class)
|
||||
->args([
|
||||
service('kernel')->ignoreOnInvalid(),
|
||||
service('debug.stopwatch')->ignoreOnInvalid(),
|
||||
])
|
||||
->tag('data_collector', ['template' => '@WebProfiler/Collector/time.html.twig', 'id' => 'time', 'priority' => 330])
|
||||
|
||||
->set('data_collector.memory', MemoryDataCollector::class)
|
||||
->tag('data_collector', ['template' => '@WebProfiler/Collector/memory.html.twig', 'id' => 'memory', 'priority' => 325])
|
||||
|
||||
->set('data_collector.router', RouterDataCollector::class)
|
||||
->tag('kernel.event_listener', ['event' => KernelEvents::CONTROLLER, 'method' => 'onKernelController'])
|
||||
->tag('data_collector', ['template' => '@WebProfiler/Collector/router.html.twig', 'id' => 'router', 'priority' => 285])
|
||||
;
|
||||
};
|
||||
@@ -1,55 +0,0 @@
|
||||
<?xml version="1.0" ?>
|
||||
|
||||
<container xmlns="http://symfony.com/schema/dic/services"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://symfony.com/schema/dic/services https://symfony.com/schema/dic/services/services-1.0.xsd">
|
||||
|
||||
<services>
|
||||
<defaults public="false" />
|
||||
|
||||
<service id="data_collector.config" class="Symfony\Component\HttpKernel\DataCollector\ConfigDataCollector">
|
||||
<tag name="data_collector" template="@WebProfiler/Collector/config.html.twig" id="config" priority="-255" />
|
||||
<call method="setKernel"><argument type="service" id="kernel" on-invalid="ignore" /></call>
|
||||
</service>
|
||||
|
||||
<service id="data_collector.request" class="Symfony\Bundle\FrameworkBundle\DataCollector\RequestDataCollector">
|
||||
<tag name="kernel.event_subscriber" />
|
||||
<tag name="data_collector" template="@WebProfiler/Collector/request.html.twig" id="request" priority="335" />
|
||||
</service>
|
||||
|
||||
<service id="data_collector.ajax" class="Symfony\Component\HttpKernel\DataCollector\AjaxDataCollector">
|
||||
<tag name="data_collector" template="@WebProfiler/Collector/ajax.html.twig" id="ajax" priority="315" />
|
||||
</service>
|
||||
|
||||
<service id="data_collector.exception" class="Symfony\Component\HttpKernel\DataCollector\ExceptionDataCollector">
|
||||
<tag name="data_collector" template="@WebProfiler/Collector/exception.html.twig" id="exception" priority="305" />
|
||||
</service>
|
||||
|
||||
<service id="data_collector.events" class="Symfony\Component\HttpKernel\DataCollector\EventDataCollector">
|
||||
<tag name="data_collector" template="@WebProfiler/Collector/events.html.twig" id="events" priority="290" />
|
||||
<argument type="service" id="debug.event_dispatcher" on-invalid="ignore" />
|
||||
</service>
|
||||
|
||||
<service id="data_collector.logger" class="Symfony\Component\HttpKernel\DataCollector\LoggerDataCollector">
|
||||
<tag name="data_collector" template="@WebProfiler/Collector/logger.html.twig" id="logger" priority="300" />
|
||||
<tag name="monolog.logger" channel="profiler" />
|
||||
<argument type="service" id="logger" on-invalid="ignore" />
|
||||
<argument>%kernel.cache_dir%/%kernel.container_class%</argument>
|
||||
</service>
|
||||
|
||||
<service id="data_collector.time" class="Symfony\Component\HttpKernel\DataCollector\TimeDataCollector">
|
||||
<tag name="data_collector" template="@WebProfiler/Collector/time.html.twig" id="time" priority="330" />
|
||||
<argument type="service" id="kernel" on-invalid="ignore" />
|
||||
<argument type="service" id="debug.stopwatch" on-invalid="ignore" />
|
||||
</service>
|
||||
|
||||
<service id="data_collector.memory" class="Symfony\Component\HttpKernel\DataCollector\MemoryDataCollector">
|
||||
<tag name="data_collector" template="@WebProfiler/Collector/memory.html.twig" id="memory" priority="325" />
|
||||
</service>
|
||||
|
||||
<service id="data_collector.router" class="Symfony\Bundle\FrameworkBundle\DataCollector\RouterDataCollector">
|
||||
<tag name="kernel.event_listener" event="kernel.controller" method="onKernelController"/>
|
||||
<tag name="data_collector" template="@WebProfiler/Collector/router.html.twig" id="router" priority="285" />
|
||||
</service>
|
||||
</services>
|
||||
</container>
|
||||
331
lib/symfony/framework-bundle/Resources/config/console.php
Normal file
331
lib/symfony/framework-bundle/Resources/config/console.php
Normal file
@@ -0,0 +1,331 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
|
||||
|
||||
use Symfony\Bundle\FrameworkBundle\Command\AboutCommand;
|
||||
use Symfony\Bundle\FrameworkBundle\Command\AssetsInstallCommand;
|
||||
use Symfony\Bundle\FrameworkBundle\Command\CacheClearCommand;
|
||||
use Symfony\Bundle\FrameworkBundle\Command\CachePoolClearCommand;
|
||||
use Symfony\Bundle\FrameworkBundle\Command\CachePoolDeleteCommand;
|
||||
use Symfony\Bundle\FrameworkBundle\Command\CachePoolListCommand;
|
||||
use Symfony\Bundle\FrameworkBundle\Command\CachePoolPruneCommand;
|
||||
use Symfony\Bundle\FrameworkBundle\Command\CacheWarmupCommand;
|
||||
use Symfony\Bundle\FrameworkBundle\Command\ConfigDebugCommand;
|
||||
use Symfony\Bundle\FrameworkBundle\Command\ConfigDumpReferenceCommand;
|
||||
use Symfony\Bundle\FrameworkBundle\Command\ContainerDebugCommand;
|
||||
use Symfony\Bundle\FrameworkBundle\Command\ContainerLintCommand;
|
||||
use Symfony\Bundle\FrameworkBundle\Command\DebugAutowiringCommand;
|
||||
use Symfony\Bundle\FrameworkBundle\Command\EventDispatcherDebugCommand;
|
||||
use Symfony\Bundle\FrameworkBundle\Command\RouterDebugCommand;
|
||||
use Symfony\Bundle\FrameworkBundle\Command\RouterMatchCommand;
|
||||
use Symfony\Bundle\FrameworkBundle\Command\SecretsDecryptToLocalCommand;
|
||||
use Symfony\Bundle\FrameworkBundle\Command\SecretsEncryptFromLocalCommand;
|
||||
use Symfony\Bundle\FrameworkBundle\Command\SecretsGenerateKeysCommand;
|
||||
use Symfony\Bundle\FrameworkBundle\Command\SecretsListCommand;
|
||||
use Symfony\Bundle\FrameworkBundle\Command\SecretsRemoveCommand;
|
||||
use Symfony\Bundle\FrameworkBundle\Command\SecretsSetCommand;
|
||||
use Symfony\Bundle\FrameworkBundle\Command\TranslationDebugCommand;
|
||||
use Symfony\Bundle\FrameworkBundle\Command\TranslationUpdateCommand;
|
||||
use Symfony\Bundle\FrameworkBundle\Command\WorkflowDumpCommand;
|
||||
use Symfony\Bundle\FrameworkBundle\Command\YamlLintCommand;
|
||||
use Symfony\Bundle\FrameworkBundle\EventListener\SuggestMissingPackageSubscriber;
|
||||
use Symfony\Component\Console\EventListener\ErrorListener;
|
||||
use Symfony\Component\Dotenv\Command\DebugCommand as DotenvDebugCommand;
|
||||
use Symfony\Component\Messenger\Command\ConsumeMessagesCommand;
|
||||
use Symfony\Component\Messenger\Command\DebugCommand;
|
||||
use Symfony\Component\Messenger\Command\FailedMessagesRemoveCommand;
|
||||
use Symfony\Component\Messenger\Command\FailedMessagesRetryCommand;
|
||||
use Symfony\Component\Messenger\Command\FailedMessagesShowCommand;
|
||||
use Symfony\Component\Messenger\Command\SetupTransportsCommand;
|
||||
use Symfony\Component\Messenger\Command\StopWorkersCommand;
|
||||
use Symfony\Component\Translation\Command\TranslationPullCommand;
|
||||
use Symfony\Component\Translation\Command\TranslationPushCommand;
|
||||
use Symfony\Component\Translation\Command\XliffLintCommand;
|
||||
use Symfony\Component\Validator\Command\DebugCommand as ValidatorDebugCommand;
|
||||
|
||||
return static function (ContainerConfigurator $container) {
|
||||
$container->services()
|
||||
->set('console.error_listener', ErrorListener::class)
|
||||
->args([
|
||||
service('logger')->nullOnInvalid(),
|
||||
])
|
||||
->tag('kernel.event_subscriber')
|
||||
->tag('monolog.logger', ['channel' => 'console'])
|
||||
|
||||
->set('console.suggest_missing_package_subscriber', SuggestMissingPackageSubscriber::class)
|
||||
->tag('kernel.event_subscriber')
|
||||
|
||||
->set('console.command.about', AboutCommand::class)
|
||||
->tag('console.command')
|
||||
|
||||
->set('console.command.assets_install', AssetsInstallCommand::class)
|
||||
->args([
|
||||
service('filesystem'),
|
||||
param('kernel.project_dir'),
|
||||
])
|
||||
->tag('console.command')
|
||||
|
||||
->set('console.command.cache_clear', CacheClearCommand::class)
|
||||
->args([
|
||||
service('cache_clearer'),
|
||||
service('filesystem'),
|
||||
])
|
||||
->tag('console.command')
|
||||
|
||||
->set('console.command.cache_pool_clear', CachePoolClearCommand::class)
|
||||
->args([
|
||||
service('cache.global_clearer'),
|
||||
])
|
||||
->tag('console.command')
|
||||
|
||||
->set('console.command.cache_pool_prune', CachePoolPruneCommand::class)
|
||||
->args([
|
||||
[],
|
||||
])
|
||||
->tag('console.command')
|
||||
|
||||
->set('console.command.cache_pool_delete', CachePoolDeleteCommand::class)
|
||||
->args([
|
||||
service('cache.global_clearer'),
|
||||
])
|
||||
->tag('console.command')
|
||||
|
||||
->set('console.command.cache_pool_list', CachePoolListCommand::class)
|
||||
->args([
|
||||
null,
|
||||
])
|
||||
->tag('console.command')
|
||||
|
||||
->set('console.command.cache_warmup', CacheWarmupCommand::class)
|
||||
->args([
|
||||
service('cache_warmer'),
|
||||
])
|
||||
->tag('console.command')
|
||||
|
||||
->set('console.command.config_debug', ConfigDebugCommand::class)
|
||||
->tag('console.command')
|
||||
|
||||
->set('console.command.config_dump_reference', ConfigDumpReferenceCommand::class)
|
||||
->tag('console.command')
|
||||
|
||||
->set('console.command.container_debug', ContainerDebugCommand::class)
|
||||
->tag('console.command')
|
||||
|
||||
->set('console.command.container_lint', ContainerLintCommand::class)
|
||||
->tag('console.command')
|
||||
|
||||
->set('console.command.debug_autowiring', DebugAutowiringCommand::class)
|
||||
->args([
|
||||
null,
|
||||
service('debug.file_link_formatter')->nullOnInvalid(),
|
||||
])
|
||||
->tag('console.command')
|
||||
|
||||
->set('console.command.dotenv_debug', DotenvDebugCommand::class)
|
||||
->args([
|
||||
param('kernel.environment'),
|
||||
param('kernel.project_dir'),
|
||||
])
|
||||
->tag('console.command')
|
||||
|
||||
->set('console.command.event_dispatcher_debug', EventDispatcherDebugCommand::class)
|
||||
->args([
|
||||
tagged_locator('event_dispatcher.dispatcher', 'name'),
|
||||
])
|
||||
->tag('console.command')
|
||||
|
||||
->set('console.command.messenger_consume_messages', ConsumeMessagesCommand::class)
|
||||
->args([
|
||||
abstract_arg('Routable message bus'),
|
||||
service('messenger.receiver_locator'),
|
||||
service('event_dispatcher'),
|
||||
service('logger')->nullOnInvalid(),
|
||||
[], // Receiver names
|
||||
service('messenger.listener.reset_services')->nullOnInvalid(),
|
||||
[], // Bus names
|
||||
])
|
||||
->tag('console.command')
|
||||
->tag('monolog.logger', ['channel' => 'messenger'])
|
||||
|
||||
->set('console.command.messenger_setup_transports', SetupTransportsCommand::class)
|
||||
->args([
|
||||
service('messenger.receiver_locator'),
|
||||
[], // Receiver names
|
||||
])
|
||||
->tag('console.command')
|
||||
|
||||
->set('console.command.messenger_debug', DebugCommand::class)
|
||||
->args([
|
||||
[], // Message to handlers mapping
|
||||
])
|
||||
->tag('console.command')
|
||||
|
||||
->set('console.command.messenger_stop_workers', StopWorkersCommand::class)
|
||||
->args([
|
||||
service('cache.messenger.restart_workers_signal'),
|
||||
])
|
||||
->tag('console.command')
|
||||
|
||||
->set('console.command.messenger_failed_messages_retry', FailedMessagesRetryCommand::class)
|
||||
->args([
|
||||
abstract_arg('Default failure receiver name'),
|
||||
abstract_arg('Receivers'),
|
||||
service('messenger.routable_message_bus'),
|
||||
service('event_dispatcher'),
|
||||
service('logger'),
|
||||
])
|
||||
->tag('console.command')
|
||||
|
||||
->set('console.command.messenger_failed_messages_show', FailedMessagesShowCommand::class)
|
||||
->args([
|
||||
abstract_arg('Default failure receiver name'),
|
||||
abstract_arg('Receivers'),
|
||||
])
|
||||
->tag('console.command')
|
||||
|
||||
->set('console.command.messenger_failed_messages_remove', FailedMessagesRemoveCommand::class)
|
||||
->args([
|
||||
abstract_arg('Default failure receiver name'),
|
||||
abstract_arg('Receivers'),
|
||||
])
|
||||
->tag('console.command')
|
||||
|
||||
->set('console.command.router_debug', RouterDebugCommand::class)
|
||||
->args([
|
||||
service('router'),
|
||||
service('debug.file_link_formatter')->nullOnInvalid(),
|
||||
])
|
||||
->tag('console.command')
|
||||
|
||||
->set('console.command.router_match', RouterMatchCommand::class)
|
||||
->args([
|
||||
service('router'),
|
||||
tagged_iterator('routing.expression_language_provider'),
|
||||
])
|
||||
->tag('console.command')
|
||||
|
||||
->set('console.command.translation_debug', TranslationDebugCommand::class)
|
||||
->args([
|
||||
service('translator'),
|
||||
service('translation.reader'),
|
||||
service('translation.extractor'),
|
||||
param('translator.default_path'),
|
||||
null, // twig.default_path
|
||||
[], // Translator paths
|
||||
[], // Twig paths
|
||||
param('kernel.enabled_locales'),
|
||||
])
|
||||
->tag('console.command')
|
||||
|
||||
->set('console.command.translation_extract', TranslationUpdateCommand::class)
|
||||
->args([
|
||||
service('translation.writer'),
|
||||
service('translation.reader'),
|
||||
service('translation.extractor'),
|
||||
param('kernel.default_locale'),
|
||||
param('translator.default_path'),
|
||||
null, // twig.default_path
|
||||
[], // Translator paths
|
||||
[], // Twig paths
|
||||
param('kernel.enabled_locales'),
|
||||
])
|
||||
->tag('console.command')
|
||||
|
||||
->set('console.command.validator_debug', ValidatorDebugCommand::class)
|
||||
->args([
|
||||
service('validator'),
|
||||
])
|
||||
->tag('console.command')
|
||||
|
||||
->set('console.command.translation_pull', TranslationPullCommand::class)
|
||||
->args([
|
||||
service('translation.provider_collection'),
|
||||
service('translation.writer'),
|
||||
service('translation.reader'),
|
||||
param('kernel.default_locale'),
|
||||
[], // Translator paths
|
||||
[], // Enabled locales
|
||||
])
|
||||
->tag('console.command', ['command' => 'translation:pull'])
|
||||
|
||||
->set('console.command.translation_push', TranslationPushCommand::class)
|
||||
->args([
|
||||
service('translation.provider_collection'),
|
||||
service('translation.reader'),
|
||||
[], // Translator paths
|
||||
[], // Enabled locales
|
||||
])
|
||||
->tag('console.command', ['command' => 'translation:push'])
|
||||
|
||||
->set('console.command.workflow_dump', WorkflowDumpCommand::class)
|
||||
->tag('console.command')
|
||||
|
||||
->set('console.command.xliff_lint', XliffLintCommand::class)
|
||||
->tag('console.command')
|
||||
|
||||
->set('console.command.yaml_lint', YamlLintCommand::class)
|
||||
->tag('console.command')
|
||||
|
||||
->set('console.command.form_debug', \Symfony\Component\Form\Command\DebugCommand::class)
|
||||
->args([
|
||||
service('form.registry'),
|
||||
[], // All form types namespaces are stored here by FormPass
|
||||
[], // All services form types are stored here by FormPass
|
||||
[], // All type extensions are stored here by FormPass
|
||||
[], // All type guessers are stored here by FormPass
|
||||
service('debug.file_link_formatter')->nullOnInvalid(),
|
||||
])
|
||||
->tag('console.command')
|
||||
|
||||
->set('console.command.secrets_set', SecretsSetCommand::class)
|
||||
->args([
|
||||
service('secrets.vault'),
|
||||
service('secrets.local_vault')->nullOnInvalid(),
|
||||
])
|
||||
->tag('console.command')
|
||||
|
||||
->set('console.command.secrets_remove', SecretsRemoveCommand::class)
|
||||
->args([
|
||||
service('secrets.vault'),
|
||||
service('secrets.local_vault')->nullOnInvalid(),
|
||||
])
|
||||
->tag('console.command')
|
||||
|
||||
->set('console.command.secrets_generate_key', SecretsGenerateKeysCommand::class)
|
||||
->args([
|
||||
service('secrets.vault'),
|
||||
service('secrets.local_vault')->ignoreOnInvalid(),
|
||||
])
|
||||
->tag('console.command')
|
||||
|
||||
->set('console.command.secrets_list', SecretsListCommand::class)
|
||||
->args([
|
||||
service('secrets.vault'),
|
||||
service('secrets.local_vault')->ignoreOnInvalid(),
|
||||
])
|
||||
->tag('console.command')
|
||||
|
||||
->set('console.command.secrets_decrypt_to_local', SecretsDecryptToLocalCommand::class)
|
||||
->args([
|
||||
service('secrets.vault'),
|
||||
service('secrets.local_vault')->ignoreOnInvalid(),
|
||||
])
|
||||
->tag('console.command')
|
||||
|
||||
->set('console.command.secrets_encrypt_from_local', SecretsEncryptFromLocalCommand::class)
|
||||
->args([
|
||||
service('secrets.vault'),
|
||||
service('secrets.local_vault')->ignoreOnInvalid(),
|
||||
])
|
||||
->tag('console.command')
|
||||
;
|
||||
};
|
||||
@@ -1,117 +0,0 @@
|
||||
<?xml version="1.0" ?>
|
||||
|
||||
<container xmlns="http://symfony.com/schema/dic/services"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://symfony.com/schema/dic/services https://symfony.com/schema/dic/services/services-1.0.xsd">
|
||||
|
||||
<services>
|
||||
<defaults public="false" />
|
||||
|
||||
<service id="console.error_listener" class="Symfony\Component\Console\EventListener\ErrorListener">
|
||||
<argument type="service" id="logger" on-invalid="null" />
|
||||
<tag name="kernel.event_subscriber" />
|
||||
<tag name="monolog.logger" channel="console" />
|
||||
</service>
|
||||
|
||||
<service id="console.command.about" class="Symfony\Bundle\FrameworkBundle\Command\AboutCommand">
|
||||
<tag name="console.command" command="about" />
|
||||
</service>
|
||||
|
||||
<service id="console.command.assets_install" class="Symfony\Bundle\FrameworkBundle\Command\AssetsInstallCommand">
|
||||
<argument type="service" id="filesystem" />
|
||||
<tag name="console.command" command="assets:install" />
|
||||
</service>
|
||||
|
||||
<service id="console.command.cache_clear" class="Symfony\Bundle\FrameworkBundle\Command\CacheClearCommand">
|
||||
<argument type="service" id="cache_clearer" />
|
||||
<argument type="service" id="filesystem" />
|
||||
<tag name="console.command" command="cache:clear" />
|
||||
</service>
|
||||
|
||||
<service id="console.command.cache_pool_clear" class="Symfony\Bundle\FrameworkBundle\Command\CachePoolClearCommand">
|
||||
<argument type="service" id="cache.global_clearer" />
|
||||
<tag name="console.command" command="cache:pool:clear" />
|
||||
</service>
|
||||
|
||||
<service id="console.command.cache_pool_prune" class="Symfony\Bundle\FrameworkBundle\Command\CachePoolPruneCommand">
|
||||
<argument type="iterator" />
|
||||
<tag name="console.command" command="cache:pool:prune" />
|
||||
</service>
|
||||
|
||||
<service id="console.command.cache_warmup" class="Symfony\Bundle\FrameworkBundle\Command\CacheWarmupCommand">
|
||||
<argument type="service" id="cache_warmer" />
|
||||
<tag name="console.command" command="cache:warmup" />
|
||||
</service>
|
||||
|
||||
<service id="console.command.config_debug" class="Symfony\Bundle\FrameworkBundle\Command\ConfigDebugCommand">
|
||||
<tag name="console.command" command="debug:config" />
|
||||
</service>
|
||||
|
||||
<service id="console.command.config_dump_reference" class="Symfony\Bundle\FrameworkBundle\Command\ConfigDumpReferenceCommand">
|
||||
<tag name="console.command" command="config:dump-reference" />
|
||||
</service>
|
||||
|
||||
<service id="console.command.container_debug" class="Symfony\Bundle\FrameworkBundle\Command\ContainerDebugCommand">
|
||||
<tag name="console.command" command="debug:container" />
|
||||
</service>
|
||||
|
||||
<service id="console.command.debug_autowiring" class="Symfony\Bundle\FrameworkBundle\Command\DebugAutowiringCommand">
|
||||
<tag name="console.command" command="debug:autowiring" />
|
||||
</service>
|
||||
|
||||
<service id="console.command.event_dispatcher_debug" class="Symfony\Bundle\FrameworkBundle\Command\EventDispatcherDebugCommand">
|
||||
<argument type="service" id="event_dispatcher" />
|
||||
<tag name="console.command" command="debug:event-dispatcher" />
|
||||
</service>
|
||||
|
||||
<service id="console.command.router_debug" class="Symfony\Bundle\FrameworkBundle\Command\RouterDebugCommand">
|
||||
<argument type="service" id="router" />
|
||||
<tag name="console.command" command="debug:router" />
|
||||
</service>
|
||||
|
||||
<service id="console.command.router_match" class="Symfony\Bundle\FrameworkBundle\Command\RouterMatchCommand">
|
||||
<argument type="service" id="router" />
|
||||
<tag name="console.command" command="router:match" />
|
||||
</service>
|
||||
|
||||
<service id="console.command.translation_debug" class="Symfony\Bundle\FrameworkBundle\Command\TranslationDebugCommand">
|
||||
<argument type="service" id="translator" />
|
||||
<argument type="service" id="translation.reader" />
|
||||
<argument type="service" id="translation.extractor" />
|
||||
<argument>%translator.default_path%</argument>
|
||||
<argument /> <!-- %twig.default_path% -->
|
||||
<tag name="console.command" command="debug:translation" />
|
||||
</service>
|
||||
|
||||
<service id="console.command.translation_update" class="Symfony\Bundle\FrameworkBundle\Command\TranslationUpdateCommand">
|
||||
<argument type="service" id="translation.writer" />
|
||||
<argument type="service" id="translation.reader" />
|
||||
<argument type="service" id="translation.extractor" />
|
||||
<argument>%kernel.default_locale%</argument>
|
||||
<argument>%translator.default_path%</argument>
|
||||
<argument /> <!-- %twig.default_path% -->
|
||||
<tag name="console.command" command="translation:update" />
|
||||
</service>
|
||||
|
||||
<service id="console.command.workflow_dump" class="Symfony\Bundle\FrameworkBundle\Command\WorkflowDumpCommand">
|
||||
<tag name="console.command" command="workflow:dump" />
|
||||
</service>
|
||||
|
||||
<service id="console.command.xliff_lint" class="Symfony\Bundle\FrameworkBundle\Command\XliffLintCommand">
|
||||
<tag name="console.command" command="lint:xliff" />
|
||||
</service>
|
||||
|
||||
<service id="console.command.yaml_lint" class="Symfony\Bundle\FrameworkBundle\Command\YamlLintCommand">
|
||||
<tag name="console.command" command="lint:yaml" />
|
||||
</service>
|
||||
|
||||
<service id="console.command.form_debug" class="Symfony\Component\Form\Command\DebugCommand">
|
||||
<argument type="service" id="form.registry" />
|
||||
<argument type="collection" /> <!-- All form types namespaces are stored here by FormPass -->
|
||||
<argument type="collection" /> <!-- All services form types are stored here by FormPass -->
|
||||
<argument type="collection" /> <!-- All type extensions are stored here by FormPass -->
|
||||
<argument type="collection" /> <!-- All type guessers are stored here by FormPass -->
|
||||
<tag name="console.command" command="debug:form" />
|
||||
</service>
|
||||
</services>
|
||||
</container>
|
||||
50
lib/symfony/framework-bundle/Resources/config/debug.php
Normal file
50
lib/symfony/framework-bundle/Resources/config/debug.php
Normal file
@@ -0,0 +1,50 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
|
||||
|
||||
use Symfony\Component\HttpKernel\Controller\ArgumentResolver\NotTaggedControllerValueResolver;
|
||||
use Symfony\Component\HttpKernel\Controller\TraceableArgumentResolver;
|
||||
use Symfony\Component\HttpKernel\Controller\TraceableControllerResolver;
|
||||
use Symfony\Component\HttpKernel\Debug\TraceableEventDispatcher;
|
||||
|
||||
return static function (ContainerConfigurator $container) {
|
||||
$container->services()
|
||||
->set('debug.event_dispatcher', TraceableEventDispatcher::class)
|
||||
->decorate('event_dispatcher')
|
||||
->args([
|
||||
service('debug.event_dispatcher.inner'),
|
||||
service('debug.stopwatch'),
|
||||
service('logger')->nullOnInvalid(),
|
||||
service('request_stack')->nullOnInvalid(),
|
||||
])
|
||||
->tag('monolog.logger', ['channel' => 'event'])
|
||||
->tag('kernel.reset', ['method' => 'reset'])
|
||||
|
||||
->set('debug.controller_resolver', TraceableControllerResolver::class)
|
||||
->decorate('controller_resolver')
|
||||
->args([
|
||||
service('debug.controller_resolver.inner'),
|
||||
service('debug.stopwatch'),
|
||||
])
|
||||
|
||||
->set('debug.argument_resolver', TraceableArgumentResolver::class)
|
||||
->decorate('argument_resolver')
|
||||
->args([
|
||||
service('debug.argument_resolver.inner'),
|
||||
service('debug.stopwatch'),
|
||||
])
|
||||
|
||||
->set('argument_resolver.not_tagged_controller', NotTaggedControllerValueResolver::class)
|
||||
->args([abstract_arg('Controller argument, set in FrameworkExtension')])
|
||||
->tag('controller.argument_value_resolver', ['priority' => -200])
|
||||
;
|
||||
};
|
||||
@@ -1,29 +0,0 @@
|
||||
<?xml version="1.0" ?>
|
||||
|
||||
<container xmlns="http://symfony.com/schema/dic/services"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://symfony.com/schema/dic/services https://symfony.com/schema/dic/services/services-1.0.xsd">
|
||||
|
||||
<services>
|
||||
<defaults public="false" />
|
||||
|
||||
<service id="debug.event_dispatcher" class="Symfony\Component\HttpKernel\Debug\TraceableEventDispatcher" decorates="event_dispatcher">
|
||||
<tag name="monolog.logger" channel="event" />
|
||||
<tag name="kernel.reset" method="reset" />
|
||||
<argument type="service" id="debug.event_dispatcher.inner" />
|
||||
<argument type="service" id="debug.stopwatch" />
|
||||
<argument type="service" id="logger" on-invalid="null" />
|
||||
</service>
|
||||
|
||||
<service id="debug.controller_resolver" decorates="controller_resolver" class="Symfony\Component\HttpKernel\Controller\TraceableControllerResolver">
|
||||
<argument type="service" id="debug.controller_resolver.inner" />
|
||||
<argument type="service" id="debug.stopwatch" />
|
||||
<argument type="service" id="argument_resolver" />
|
||||
</service>
|
||||
|
||||
<service id="debug.argument_resolver" decorates="argument_resolver" class="Symfony\Component\HttpKernel\Controller\TraceableArgumentResolver">
|
||||
<argument type="service" id="debug.argument_resolver.inner" />
|
||||
<argument type="service" id="debug.stopwatch" />
|
||||
</service>
|
||||
</services>
|
||||
</container>
|
||||
39
lib/symfony/framework-bundle/Resources/config/debug_prod.php
Normal file
39
lib/symfony/framework-bundle/Resources/config/debug_prod.php
Normal file
@@ -0,0 +1,39 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
|
||||
|
||||
use Symfony\Component\HttpKernel\Debug\FileLinkFormatter;
|
||||
use Symfony\Component\HttpKernel\EventListener\DebugHandlersListener;
|
||||
|
||||
return static function (ContainerConfigurator $container) {
|
||||
$container->parameters()->set('debug.error_handler.throw_at', -1);
|
||||
|
||||
$container->services()
|
||||
->set('debug.debug_handlers_listener', DebugHandlersListener::class)
|
||||
->args([
|
||||
null, // Exception handler
|
||||
service('monolog.logger.php')->nullOnInvalid(),
|
||||
null, // Log levels map for enabled error levels
|
||||
param('debug.error_handler.throw_at'),
|
||||
param('kernel.debug'),
|
||||
param('kernel.debug'),
|
||||
service('monolog.logger.deprecation')->nullOnInvalid(),
|
||||
])
|
||||
->tag('kernel.event_subscriber')
|
||||
->tag('monolog.logger', ['channel' => 'php'])
|
||||
|
||||
->set('debug.file_link_formatter', FileLinkFormatter::class)
|
||||
->args([param('debug.file_link_format')])
|
||||
|
||||
->alias(FileLinkFormatter::class, 'debug.file_link_formatter')
|
||||
;
|
||||
};
|
||||
@@ -1,31 +0,0 @@
|
||||
<?xml version="1.0" ?>
|
||||
|
||||
<container xmlns="http://symfony.com/schema/dic/services"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://symfony.com/schema/dic/services https://symfony.com/schema/dic/services/services-1.0.xsd">
|
||||
|
||||
<parameters>
|
||||
<parameter key="debug.error_handler.throw_at">-1</parameter>
|
||||
</parameters>
|
||||
|
||||
<services>
|
||||
<defaults public="false" />
|
||||
|
||||
<service id="debug.debug_handlers_listener" class="Symfony\Component\HttpKernel\EventListener\DebugHandlersListener">
|
||||
<tag name="kernel.event_subscriber" />
|
||||
<tag name="monolog.logger" channel="php" />
|
||||
<argument>null</argument><!-- Exception handler -->
|
||||
<argument type="service" id="logger" on-invalid="null" />
|
||||
<argument>-1</argument><!-- Log levels map for enabled error levels -->
|
||||
<argument>%debug.error_handler.throw_at%</argument>
|
||||
<argument>true</argument>
|
||||
<argument type="service" id="debug.file_link_formatter"></argument>
|
||||
<argument>true</argument>
|
||||
</service>
|
||||
|
||||
<service id="debug.file_link_formatter" class="Symfony\Component\HttpKernel\Debug\FileLinkFormatter">
|
||||
<argument>%debug.file_link_format%</argument>
|
||||
</service>
|
||||
<service id="Symfony\Component\HttpKernel\Debug\FileLinkFormatter" alias="debug.file_link_formatter" />
|
||||
</services>
|
||||
</container>
|
||||
@@ -0,0 +1,38 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
|
||||
|
||||
use Symfony\Component\ErrorHandler\ErrorRenderer\HtmlErrorRenderer;
|
||||
|
||||
return static function (ContainerConfigurator $container) {
|
||||
$container->services()
|
||||
->set('error_handler.error_renderer.html', HtmlErrorRenderer::class)
|
||||
->args([
|
||||
inline_service()
|
||||
->factory([HtmlErrorRenderer::class, 'isDebug'])
|
||||
->args([
|
||||
service('request_stack'),
|
||||
param('kernel.debug'),
|
||||
]),
|
||||
param('kernel.charset'),
|
||||
service('debug.file_link_formatter')->nullOnInvalid(),
|
||||
param('kernel.project_dir'),
|
||||
inline_service()
|
||||
->factory([HtmlErrorRenderer::class, 'getAndCleanOutputBuffer'])
|
||||
->args([service('request_stack')]),
|
||||
service('logger')->nullOnInvalid(),
|
||||
])
|
||||
|
||||
->alias('error_renderer.html', 'error_handler.error_renderer.html')
|
||||
->alias('error_renderer', 'error_renderer.html')
|
||||
;
|
||||
};
|
||||
25
lib/symfony/framework-bundle/Resources/config/esi.php
Normal file
25
lib/symfony/framework-bundle/Resources/config/esi.php
Normal file
@@ -0,0 +1,25 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
|
||||
|
||||
use Symfony\Component\HttpKernel\EventListener\SurrogateListener;
|
||||
use Symfony\Component\HttpKernel\HttpCache\Esi;
|
||||
|
||||
return static function (ContainerConfigurator $container) {
|
||||
$container->services()
|
||||
->set('esi', Esi::class)
|
||||
|
||||
->set('esi_listener', SurrogateListener::class)
|
||||
->args([service('esi')->ignoreOnInvalid()])
|
||||
->tag('kernel.event_subscriber')
|
||||
;
|
||||
};
|
||||
@@ -1,17 +0,0 @@
|
||||
<?xml version="1.0" ?>
|
||||
|
||||
<container xmlns="http://symfony.com/schema/dic/services"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://symfony.com/schema/dic/services https://symfony.com/schema/dic/services/services-1.0.xsd">
|
||||
|
||||
<services>
|
||||
<defaults public="false" />
|
||||
|
||||
<service id="esi" class="Symfony\Component\HttpKernel\HttpCache\Esi" />
|
||||
|
||||
<service id="esi_listener" class="Symfony\Component\HttpKernel\EventListener\SurrogateListener">
|
||||
<tag name="kernel.event_subscriber" />
|
||||
<argument type="service" id="esi" on-invalid="ignore" />
|
||||
</service>
|
||||
</services>
|
||||
</container>
|
||||
152
lib/symfony/framework-bundle/Resources/config/form.php
Normal file
152
lib/symfony/framework-bundle/Resources/config/form.php
Normal file
@@ -0,0 +1,152 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
|
||||
|
||||
use Symfony\Component\Form\ChoiceList\Factory\CachingFactoryDecorator;
|
||||
use Symfony\Component\Form\ChoiceList\Factory\DefaultChoiceListFactory;
|
||||
use Symfony\Component\Form\ChoiceList\Factory\PropertyAccessDecorator;
|
||||
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
|
||||
use Symfony\Component\Form\Extension\Core\Type\ColorType;
|
||||
use Symfony\Component\Form\Extension\Core\Type\FileType;
|
||||
use Symfony\Component\Form\Extension\Core\Type\FormType;
|
||||
use Symfony\Component\Form\Extension\Core\Type\SubmitType;
|
||||
use Symfony\Component\Form\Extension\Core\Type\TransformationFailureExtension;
|
||||
use Symfony\Component\Form\Extension\DependencyInjection\DependencyInjectionExtension;
|
||||
use Symfony\Component\Form\Extension\HttpFoundation\HttpFoundationRequestHandler;
|
||||
use Symfony\Component\Form\Extension\HttpFoundation\Type\FormTypeHttpFoundationExtension;
|
||||
use Symfony\Component\Form\Extension\Validator\Type\FormTypeValidatorExtension;
|
||||
use Symfony\Component\Form\Extension\Validator\Type\RepeatedTypeValidatorExtension;
|
||||
use Symfony\Component\Form\Extension\Validator\Type\SubmitTypeValidatorExtension;
|
||||
use Symfony\Component\Form\Extension\Validator\Type\UploadValidatorExtension;
|
||||
use Symfony\Component\Form\Extension\Validator\ValidatorTypeGuesser;
|
||||
use Symfony\Component\Form\FormFactory;
|
||||
use Symfony\Component\Form\FormFactoryInterface;
|
||||
use Symfony\Component\Form\FormRegistry;
|
||||
use Symfony\Component\Form\FormRegistryInterface;
|
||||
use Symfony\Component\Form\ResolvedFormTypeFactory;
|
||||
use Symfony\Component\Form\ResolvedFormTypeFactoryInterface;
|
||||
use Symfony\Component\Form\Util\ServerParams;
|
||||
|
||||
return static function (ContainerConfigurator $container) {
|
||||
$container->services()
|
||||
->set('form.resolved_type_factory', ResolvedFormTypeFactory::class)
|
||||
|
||||
->alias(ResolvedFormTypeFactoryInterface::class, 'form.resolved_type_factory')
|
||||
|
||||
->set('form.registry', FormRegistry::class)
|
||||
->args([
|
||||
[
|
||||
/*
|
||||
* We don't need to be able to add more extensions.
|
||||
* more types can be registered with the form.type tag
|
||||
* more type extensions can be registered with the form.type_extension tag
|
||||
* more type_guessers can be registered with the form.type_guesser tag
|
||||
*/
|
||||
service('form.extension'),
|
||||
],
|
||||
service('form.resolved_type_factory'),
|
||||
])
|
||||
|
||||
->alias(FormRegistryInterface::class, 'form.registry')
|
||||
|
||||
->set('form.factory', FormFactory::class)
|
||||
->public()
|
||||
->args([service('form.registry')])
|
||||
->tag('container.private', ['package' => 'symfony/framework-bundle', 'version' => '5.2'])
|
||||
|
||||
->alias(FormFactoryInterface::class, 'form.factory')
|
||||
|
||||
->set('form.extension', DependencyInjectionExtension::class)
|
||||
->args([
|
||||
abstract_arg('All services with tag "form.type" are stored in a service locator by FormPass'),
|
||||
abstract_arg('All services with tag "form.type_extension" are stored here by FormPass'),
|
||||
abstract_arg('All services with tag "form.type_guesser" are stored here by FormPass'),
|
||||
])
|
||||
|
||||
->set('form.type_guesser.validator', ValidatorTypeGuesser::class)
|
||||
->args([service('validator.mapping.class_metadata_factory')])
|
||||
->tag('form.type_guesser')
|
||||
|
||||
->alias('form.property_accessor', 'property_accessor')
|
||||
|
||||
->set('form.choice_list_factory.default', DefaultChoiceListFactory::class)
|
||||
|
||||
->set('form.choice_list_factory.property_access', PropertyAccessDecorator::class)
|
||||
->args([
|
||||
service('form.choice_list_factory.default'),
|
||||
service('form.property_accessor'),
|
||||
])
|
||||
|
||||
->set('form.choice_list_factory.cached', CachingFactoryDecorator::class)
|
||||
->args([service('form.choice_list_factory.property_access')])
|
||||
->tag('kernel.reset', ['method' => 'reset'])
|
||||
|
||||
->alias('form.choice_list_factory', 'form.choice_list_factory.cached')
|
||||
|
||||
->set('form.type.form', FormType::class)
|
||||
->args([service('form.property_accessor')])
|
||||
->tag('form.type')
|
||||
|
||||
->set('form.type.choice', ChoiceType::class)
|
||||
->args([
|
||||
service('form.choice_list_factory'),
|
||||
service('translator')->ignoreOnInvalid(),
|
||||
])
|
||||
->tag('form.type')
|
||||
|
||||
->set('form.type.file', FileType::class)
|
||||
->public()
|
||||
->args([service('translator')->ignoreOnInvalid()])
|
||||
->tag('form.type')
|
||||
->tag('container.private', ['package' => 'symfony/framework-bundle', 'version' => '5.2'])
|
||||
|
||||
->set('form.type.color', ColorType::class)
|
||||
->args([service('translator')->ignoreOnInvalid()])
|
||||
->tag('form.type')
|
||||
|
||||
->set('form.type_extension.form.transformation_failure_handling', TransformationFailureExtension::class)
|
||||
->args([service('translator')->ignoreOnInvalid()])
|
||||
->tag('form.type_extension', ['extended-type' => FormType::class])
|
||||
|
||||
->set('form.type_extension.form.http_foundation', FormTypeHttpFoundationExtension::class)
|
||||
->args([service('form.type_extension.form.request_handler')])
|
||||
->tag('form.type_extension')
|
||||
|
||||
->set('form.type_extension.form.request_handler', HttpFoundationRequestHandler::class)
|
||||
->args([service('form.server_params')])
|
||||
|
||||
->set('form.server_params', ServerParams::class)
|
||||
->args([service('request_stack')])
|
||||
|
||||
->set('form.type_extension.form.validator', FormTypeValidatorExtension::class)
|
||||
->args([
|
||||
service('validator'),
|
||||
true,
|
||||
service('twig.form.renderer')->ignoreOnInvalid(),
|
||||
service('translator')->ignoreOnInvalid(),
|
||||
])
|
||||
->tag('form.type_extension', ['extended-type' => FormType::class])
|
||||
|
||||
->set('form.type_extension.repeated.validator', RepeatedTypeValidatorExtension::class)
|
||||
->tag('form.type_extension')
|
||||
|
||||
->set('form.type_extension.submit.validator', SubmitTypeValidatorExtension::class)
|
||||
->tag('form.type_extension', ['extended-type' => SubmitType::class])
|
||||
|
||||
->set('form.type_extension.upload.validator', UploadValidatorExtension::class)
|
||||
->args([
|
||||
service('translator'),
|
||||
param('validator.translation_domain'),
|
||||
])
|
||||
->tag('form.type_extension')
|
||||
;
|
||||
};
|
||||
@@ -1,205 +0,0 @@
|
||||
<?xml version="1.0" ?>
|
||||
|
||||
<container xmlns="http://symfony.com/schema/dic/services"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://symfony.com/schema/dic/services https://symfony.com/schema/dic/services/services-1.0.xsd">
|
||||
|
||||
<services>
|
||||
<defaults public="false" />
|
||||
|
||||
<!-- ResolvedFormTypeFactory -->
|
||||
<service id="form.resolved_type_factory" class="Symfony\Component\Form\ResolvedFormTypeFactory" />
|
||||
<service id="Symfony\Component\Form\ResolvedFormTypeFactoryInterface" alias="form.resolved_type_factory" />
|
||||
|
||||
<!-- FormRegistry -->
|
||||
<service id="form.registry" class="Symfony\Component\Form\FormRegistry">
|
||||
<argument type="collection">
|
||||
<!--
|
||||
We don't need to be able to add more extensions.
|
||||
* more types can be registered with the form.type tag
|
||||
* more type extensions can be registered with the form.type_extension tag
|
||||
* more type_guessers can be registered with the form.type_guesser tag
|
||||
-->
|
||||
<argument type="service" id="form.extension" />
|
||||
</argument>
|
||||
<argument type="service" id="form.resolved_type_factory" />
|
||||
</service>
|
||||
<service id="Symfony\Component\Form\FormRegistryInterface" alias="form.registry" />
|
||||
|
||||
<!-- FormFactory -->
|
||||
<service id="form.factory" class="Symfony\Component\Form\FormFactory" public="true">
|
||||
<argument type="service" id="form.registry" />
|
||||
<argument type="service" id="form.resolved_type_factory" />
|
||||
</service>
|
||||
<service id="Symfony\Component\Form\FormFactoryInterface" alias="form.factory" />
|
||||
|
||||
<!-- DependencyInjectionExtension -->
|
||||
<service id="form.extension" class="Symfony\Component\Form\Extension\DependencyInjection\DependencyInjectionExtension">
|
||||
<argument /><!-- All services with tag "form.type" are stored in a service locator by FormPass -->
|
||||
<argument type="collection" /><!-- All services with tag "form.type_extension" are stored here by FormPass -->
|
||||
<argument type="iterator" /><!-- All services with tag "form.type_guesser" are stored here by FormPass -->
|
||||
<argument>null</argument><!-- @deprecated argument in 3.3, to be removed in 4.0 -->
|
||||
</service>
|
||||
|
||||
<!-- ValidatorTypeGuesser -->
|
||||
<service id="form.type_guesser.validator" class="Symfony\Component\Form\Extension\Validator\ValidatorTypeGuesser">
|
||||
<tag name="form.type_guesser" />
|
||||
<argument type="service" id="validator.mapping.class_metadata_factory" />
|
||||
</service>
|
||||
|
||||
<!-- CoreExtension -->
|
||||
<service id="form.property_accessor" alias="property_accessor" />
|
||||
|
||||
<service id="form.choice_list_factory.default" class="Symfony\Component\Form\ChoiceList\Factory\DefaultChoiceListFactory" />
|
||||
|
||||
<service id="form.choice_list_factory.property_access" class="Symfony\Component\Form\ChoiceList\Factory\PropertyAccessDecorator">
|
||||
<argument type="service" id="form.choice_list_factory.default"/>
|
||||
<argument type="service" id="form.property_accessor"/>
|
||||
</service>
|
||||
|
||||
<service id="form.choice_list_factory.cached" class="Symfony\Component\Form\ChoiceList\Factory\CachingFactoryDecorator">
|
||||
<argument type="service" id="form.choice_list_factory.property_access"/>
|
||||
</service>
|
||||
|
||||
<service id="form.choice_list_factory" alias="form.choice_list_factory.cached" />
|
||||
|
||||
<service id="form.type.form" class="Symfony\Component\Form\Extension\Core\Type\FormType">
|
||||
<argument type="service" id="form.property_accessor" />
|
||||
<tag name="form.type" />
|
||||
</service>
|
||||
<service id="form.type.birthday" class="Symfony\Component\Form\Extension\Core\Type\BirthdayType" public="true">
|
||||
<deprecated>The "%service_id%" service is deprecated since Symfony 3.1 and will be removed in 4.0.</deprecated>
|
||||
</service>
|
||||
<service id="form.type.checkbox" class="Symfony\Component\Form\Extension\Core\Type\CheckboxType" public="true">
|
||||
<deprecated>The "%service_id%" service is deprecated since Symfony 3.1 and will be removed in 4.0.</deprecated>
|
||||
</service>
|
||||
<service id="form.type.choice" class="Symfony\Component\Form\Extension\Core\Type\ChoiceType">
|
||||
<tag name="form.type" />
|
||||
<argument type="service" id="form.choice_list_factory"/>
|
||||
</service>
|
||||
<service id="form.type.collection" class="Symfony\Component\Form\Extension\Core\Type\CollectionType" public="true">
|
||||
<deprecated>The "%service_id%" service is deprecated since Symfony 3.1 and will be removed in 4.0.</deprecated>
|
||||
</service>
|
||||
<service id="form.type.country" class="Symfony\Component\Form\Extension\Core\Type\CountryType" public="true">
|
||||
<deprecated>The "%service_id%" service is deprecated since Symfony 3.1 and will be removed in 4.0.</deprecated>
|
||||
</service>
|
||||
<service id="form.type.date" class="Symfony\Component\Form\Extension\Core\Type\DateType" public="true">
|
||||
<deprecated>The "%service_id%" service is deprecated since Symfony 3.1 and will be removed in 4.0.</deprecated>
|
||||
</service>
|
||||
<service id="form.type.datetime" class="Symfony\Component\Form\Extension\Core\Type\DateTimeType" public="true">
|
||||
<deprecated>The "%service_id%" service is deprecated since Symfony 3.1 and will be removed in 4.0.</deprecated>
|
||||
</service>
|
||||
<service id="form.type.email" class="Symfony\Component\Form\Extension\Core\Type\EmailType" public="true">
|
||||
<deprecated>The "%service_id%" service is deprecated since Symfony 3.1 and will be removed in 4.0.</deprecated>
|
||||
</service>
|
||||
<service id="form.type.file" class="Symfony\Component\Form\Extension\Core\Type\FileType" public="true">
|
||||
<tag name="form.type" />
|
||||
<argument type="service" id="translator" on-invalid="ignore" />
|
||||
</service>
|
||||
<service id="form.type.hidden" class="Symfony\Component\Form\Extension\Core\Type\HiddenType" public="true">
|
||||
<deprecated>The "%service_id%" service is deprecated since Symfony 3.1 and will be removed in 4.0.</deprecated>
|
||||
</service>
|
||||
<service id="form.type.integer" class="Symfony\Component\Form\Extension\Core\Type\IntegerType" public="true">
|
||||
<deprecated>The "%service_id%" service is deprecated since Symfony 3.1 and will be removed in 4.0.</deprecated>
|
||||
</service>
|
||||
<service id="form.type.language" class="Symfony\Component\Form\Extension\Core\Type\LanguageType" public="true">
|
||||
<deprecated>The "%service_id%" service is deprecated since Symfony 3.1 and will be removed in 4.0.</deprecated>
|
||||
</service>
|
||||
<service id="form.type.locale" class="Symfony\Component\Form\Extension\Core\Type\LocaleType" public="true">
|
||||
<deprecated>The "%service_id%" service is deprecated since Symfony 3.1 and will be removed in 4.0.</deprecated>
|
||||
</service>
|
||||
<service id="form.type.money" class="Symfony\Component\Form\Extension\Core\Type\MoneyType" public="true">
|
||||
<deprecated>The "%service_id%" service is deprecated since Symfony 3.1 and will be removed in 4.0.</deprecated>
|
||||
</service>
|
||||
<service id="form.type.number" class="Symfony\Component\Form\Extension\Core\Type\NumberType" public="true">
|
||||
<deprecated>The "%service_id%" service is deprecated since Symfony 3.1 and will be removed in 4.0.</deprecated>
|
||||
</service>
|
||||
<service id="form.type.password" class="Symfony\Component\Form\Extension\Core\Type\PasswordType" public="true">
|
||||
<deprecated>The "%service_id%" service is deprecated since Symfony 3.1 and will be removed in 4.0.</deprecated>
|
||||
</service>
|
||||
<service id="form.type.percent" class="Symfony\Component\Form\Extension\Core\Type\PercentType" public="true">
|
||||
<deprecated>The "%service_id%" service is deprecated since Symfony 3.1 and will be removed in 4.0.</deprecated>
|
||||
</service>
|
||||
<service id="form.type.radio" class="Symfony\Component\Form\Extension\Core\Type\RadioType" public="true">
|
||||
<deprecated>The "%service_id%" service is deprecated since Symfony 3.1 and will be removed in 4.0.</deprecated>
|
||||
</service>
|
||||
<service id="form.type.range" class="Symfony\Component\Form\Extension\Core\Type\RangeType" public="true">
|
||||
<deprecated>The "%service_id%" service is deprecated since Symfony 3.1 and will be removed in 4.0.</deprecated>
|
||||
</service>
|
||||
<service id="form.type.repeated" class="Symfony\Component\Form\Extension\Core\Type\RepeatedType" public="true">
|
||||
<deprecated>The "%service_id%" service is deprecated since Symfony 3.1 and will be removed in 4.0.</deprecated>
|
||||
</service>
|
||||
<service id="form.type.search" class="Symfony\Component\Form\Extension\Core\Type\SearchType" public="true">
|
||||
<deprecated>The "%service_id%" service is deprecated since Symfony 3.1 and will be removed in 4.0.</deprecated>
|
||||
</service>
|
||||
<service id="form.type.textarea" class="Symfony\Component\Form\Extension\Core\Type\TextareaType" public="true">
|
||||
<deprecated>The "%service_id%" service is deprecated since Symfony 3.1 and will be removed in 4.0.</deprecated>
|
||||
</service>
|
||||
<service id="form.type.text" class="Symfony\Component\Form\Extension\Core\Type\TextType" public="true">
|
||||
<deprecated>The "%service_id%" service is deprecated since Symfony 3.1 and will be removed in 4.0.</deprecated>
|
||||
</service>
|
||||
<service id="form.type.time" class="Symfony\Component\Form\Extension\Core\Type\TimeType" public="true">
|
||||
<deprecated>The "%service_id%" service is deprecated since Symfony 3.1 and will be removed in 4.0.</deprecated>
|
||||
</service>
|
||||
<service id="form.type.timezone" class="Symfony\Component\Form\Extension\Core\Type\TimezoneType" public="true">
|
||||
<deprecated>The "%service_id%" service is deprecated since Symfony 3.1 and will be removed in 4.0.</deprecated>
|
||||
</service>
|
||||
<service id="form.type.url" class="Symfony\Component\Form\Extension\Core\Type\UrlType" public="true">
|
||||
<deprecated>The "%service_id%" service is deprecated since Symfony 3.1 and will be removed in 4.0.</deprecated>
|
||||
</service>
|
||||
<service id="form.type.button" class="Symfony\Component\Form\Extension\Core\Type\ButtonType" public="true">
|
||||
<deprecated>The "%service_id%" service is deprecated since Symfony 3.1 and will be removed in 4.0.</deprecated>
|
||||
</service>
|
||||
<service id="form.type.submit" class="Symfony\Component\Form\Extension\Core\Type\SubmitType" public="true">
|
||||
<deprecated>The "%service_id%" service is deprecated since Symfony 3.1 and will be removed in 4.0.</deprecated>
|
||||
</service>
|
||||
<service id="form.type.reset" class="Symfony\Component\Form\Extension\Core\Type\ResetType" public="true">
|
||||
<deprecated>The "%service_id%" service is deprecated since Symfony 3.1 and will be removed in 4.0.</deprecated>
|
||||
</service>
|
||||
<service id="form.type.currency" class="Symfony\Component\Form\Extension\Core\Type\CurrencyType" public="true">
|
||||
<deprecated>The "%service_id%" service is deprecated since Symfony 3.1 and will be removed in 4.0.</deprecated>
|
||||
</service>
|
||||
|
||||
<service id="form.type_extension.form.transformation_failure_handling" class="Symfony\Component\Form\Extension\Core\Type\TransformationFailureExtension">
|
||||
<tag name="form.type_extension" extended-type="Symfony\Component\Form\Extension\Core\Type\FormType" />
|
||||
<argument type="service" id="translator" on-invalid="ignore" />
|
||||
</service>
|
||||
|
||||
<!-- FormTypeHttpFoundationExtension -->
|
||||
<service id="form.type_extension.form.http_foundation" class="Symfony\Component\Form\Extension\HttpFoundation\Type\FormTypeHttpFoundationExtension">
|
||||
<argument type="service" id="form.type_extension.form.request_handler" />
|
||||
<tag name="form.type_extension" extended-type="Symfony\Component\Form\Extension\Core\Type\FormType" />
|
||||
</service>
|
||||
|
||||
<!-- HttpFoundationRequestHandler -->
|
||||
<service id="form.type_extension.form.request_handler" class="Symfony\Component\Form\Extension\HttpFoundation\HttpFoundationRequestHandler">
|
||||
<argument type="service" id="form.server_params" />
|
||||
</service>
|
||||
|
||||
<service id="form.server_params" class="Symfony\Component\Form\Util\ServerParams">
|
||||
<argument type="service" id="request_stack" />
|
||||
</service>
|
||||
|
||||
<!-- FormTypeValidatorExtension -->
|
||||
<service id="form.type_extension.form.validator" class="Symfony\Component\Form\Extension\Validator\Type\FormTypeValidatorExtension">
|
||||
<tag name="form.type_extension" extended-type="Symfony\Component\Form\Extension\Core\Type\FormType" />
|
||||
<argument type="service" id="validator" />
|
||||
</service>
|
||||
<service id="form.type_extension.repeated.validator" class="Symfony\Component\Form\Extension\Validator\Type\RepeatedTypeValidatorExtension">
|
||||
<tag name="form.type_extension" extended-type="Symfony\Component\Form\Extension\Core\Type\RepeatedType" />
|
||||
</service>
|
||||
<service id="form.type_extension.submit.validator" class="Symfony\Component\Form\Extension\Validator\Type\SubmitTypeValidatorExtension">
|
||||
<tag name="form.type_extension" extended-type="Symfony\Component\Form\Extension\Core\Type\SubmitType" />
|
||||
</service>
|
||||
<service id="form.type_extension.upload.validator" class="Symfony\Component\Form\Extension\Validator\Type\UploadValidatorExtension">
|
||||
<tag name="form.type_extension" extended-type="Symfony\Component\Form\Extension\Core\Type\FormType" />
|
||||
<argument type="service" id="translator"/>
|
||||
<argument type="string">%validator.translation_domain%</argument>
|
||||
</service>
|
||||
|
||||
<service id="deprecated.form.registry" class="stdClass">
|
||||
<property name="registry" type="collection" />
|
||||
<deprecated>The service "%service_id%" is internal and deprecated since Symfony 3.3 and will be removed in Symfony 4.0</deprecated>
|
||||
</service>
|
||||
</services>
|
||||
</container>
|
||||
29
lib/symfony/framework-bundle/Resources/config/form_csrf.php
Normal file
29
lib/symfony/framework-bundle/Resources/config/form_csrf.php
Normal file
@@ -0,0 +1,29 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
|
||||
|
||||
use Symfony\Component\Form\Extension\Csrf\Type\FormTypeCsrfExtension;
|
||||
|
||||
return static function (ContainerConfigurator $container) {
|
||||
$container->services()
|
||||
->set('form.type_extension.csrf', FormTypeCsrfExtension::class)
|
||||
->args([
|
||||
service('security.csrf.token_manager'),
|
||||
param('form.type_extension.csrf.enabled'),
|
||||
param('form.type_extension.csrf.field_name'),
|
||||
service('translator')->nullOnInvalid(),
|
||||
param('validator.translation_domain'),
|
||||
service('form.server_params'),
|
||||
])
|
||||
->tag('form.type_extension')
|
||||
;
|
||||
};
|
||||
@@ -1,25 +0,0 @@
|
||||
<?xml version="1.0" ?>
|
||||
|
||||
<container xmlns="http://symfony.com/schema/dic/services"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://symfony.com/schema/dic/services https://symfony.com/schema/dic/services/services-1.0.xsd">
|
||||
|
||||
<services>
|
||||
<defaults public="false" />
|
||||
|
||||
<service id="form.type_extension.csrf" class="Symfony\Component\Form\Extension\Csrf\Type\FormTypeCsrfExtension">
|
||||
<tag name="form.type_extension" extended-type="Symfony\Component\Form\Extension\Core\Type\FormType" />
|
||||
<argument type="service" id="security.csrf.token_manager" />
|
||||
<argument>%form.type_extension.csrf.enabled%</argument>
|
||||
<argument>%form.type_extension.csrf.field_name%</argument>
|
||||
<argument type="service" id="translator" on-invalid="null" />
|
||||
<argument>%validator.translation_domain%</argument>
|
||||
<argument type="service" id="form.server_params" />
|
||||
</service>
|
||||
|
||||
<service id="deprecated.form.registry.csrf" class="stdClass">
|
||||
<property name="registry" type="collection" />
|
||||
<deprecated>The service "%service_id%" is internal and deprecated since Symfony 3.3 and will be removed in Symfony 4.0</deprecated>
|
||||
</service>
|
||||
</services>
|
||||
</container>
|
||||
38
lib/symfony/framework-bundle/Resources/config/form_debug.php
Normal file
38
lib/symfony/framework-bundle/Resources/config/form_debug.php
Normal file
@@ -0,0 +1,38 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
|
||||
|
||||
use Symfony\Component\Form\Extension\DataCollector\FormDataCollector;
|
||||
use Symfony\Component\Form\Extension\DataCollector\FormDataExtractor;
|
||||
use Symfony\Component\Form\Extension\DataCollector\Proxy\ResolvedTypeFactoryDataCollectorProxy;
|
||||
use Symfony\Component\Form\Extension\DataCollector\Type\DataCollectorTypeExtension;
|
||||
use Symfony\Component\Form\ResolvedFormTypeFactory;
|
||||
|
||||
return static function (ContainerConfigurator $container) {
|
||||
$container->services()
|
||||
->set('form.resolved_type_factory', ResolvedTypeFactoryDataCollectorProxy::class)
|
||||
->args([
|
||||
inline_service(ResolvedFormTypeFactory::class),
|
||||
service('data_collector.form'),
|
||||
])
|
||||
|
||||
->set('form.type_extension.form.data_collector', DataCollectorTypeExtension::class)
|
||||
->args([service('data_collector.form')])
|
||||
->tag('form.type_extension')
|
||||
|
||||
->set('data_collector.form.extractor', FormDataExtractor::class)
|
||||
|
||||
->set('data_collector.form', FormDataCollector::class)
|
||||
->args([service('data_collector.form.extractor')])
|
||||
->tag('data_collector', ['template' => '@WebProfiler/Collector/form.html.twig', 'id' => 'form', 'priority' => 310])
|
||||
;
|
||||
};
|
||||
@@ -1,31 +0,0 @@
|
||||
<?xml version="1.0" ?>
|
||||
|
||||
<container xmlns="http://symfony.com/schema/dic/services"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://symfony.com/schema/dic/services https://symfony.com/schema/dic/services/services-1.0.xsd">
|
||||
|
||||
<services>
|
||||
<defaults public="false" />
|
||||
|
||||
<service id="form.resolved_type_factory" class="Symfony\Component\Form\Extension\DataCollector\Proxy\ResolvedTypeFactoryDataCollectorProxy">
|
||||
<argument type="service">
|
||||
<service class="Symfony\Component\Form\ResolvedFormTypeFactory" />
|
||||
</argument>
|
||||
<argument type="service" id="data_collector.form" />
|
||||
</service>
|
||||
|
||||
<!-- DataCollectorTypeExtension -->
|
||||
<service id="form.type_extension.form.data_collector" class="Symfony\Component\Form\Extension\DataCollector\Type\DataCollectorTypeExtension">
|
||||
<tag name="form.type_extension" extended-type="Symfony\Component\Form\Extension\Core\Type\FormType" />
|
||||
<argument type="service" id="data_collector.form" />
|
||||
</service>
|
||||
|
||||
<!-- DataCollector -->
|
||||
<service id="data_collector.form.extractor" class="Symfony\Component\Form\Extension\DataCollector\FormDataExtractor" />
|
||||
|
||||
<service id="data_collector.form" class="Symfony\Component\Form\Extension\DataCollector\FormDataCollector">
|
||||
<tag name="data_collector" template="@WebProfiler/Collector/form.html.twig" id="form" priority="310" />
|
||||
<argument type="service" id="data_collector.form.extractor" />
|
||||
</service>
|
||||
</services>
|
||||
</container>
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
|
||||
|
||||
use Symfony\Component\HttpKernel\EventListener\FragmentListener;
|
||||
|
||||
return static function (ContainerConfigurator $container) {
|
||||
$container->services()
|
||||
->set('fragment.listener', FragmentListener::class)
|
||||
->args([service('uri_signer'), param('fragment.path')])
|
||||
->tag('kernel.event_subscriber')
|
||||
;
|
||||
};
|
||||
@@ -1,16 +0,0 @@
|
||||
<?xml version="1.0" ?>
|
||||
|
||||
<container xmlns="http://symfony.com/schema/dic/services"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://symfony.com/schema/dic/services https://symfony.com/schema/dic/services/services-1.0.xsd">
|
||||
|
||||
<services>
|
||||
<defaults public="false" />
|
||||
|
||||
<service id="fragment.listener" class="Symfony\Component\HttpKernel\EventListener\FragmentListener">
|
||||
<tag name="kernel.event_subscriber" />
|
||||
<argument type="service" id="uri_signer" />
|
||||
<argument>%fragment.path%</argument>
|
||||
</service>
|
||||
</services>
|
||||
</container>
|
||||
@@ -0,0 +1,71 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
|
||||
|
||||
use Symfony\Component\HttpKernel\DependencyInjection\LazyLoadingFragmentHandler;
|
||||
use Symfony\Component\HttpKernel\Fragment\EsiFragmentRenderer;
|
||||
use Symfony\Component\HttpKernel\Fragment\FragmentUriGenerator;
|
||||
use Symfony\Component\HttpKernel\Fragment\FragmentUriGeneratorInterface;
|
||||
use Symfony\Component\HttpKernel\Fragment\HIncludeFragmentRenderer;
|
||||
use Symfony\Component\HttpKernel\Fragment\InlineFragmentRenderer;
|
||||
use Symfony\Component\HttpKernel\Fragment\SsiFragmentRenderer;
|
||||
|
||||
return static function (ContainerConfigurator $container) {
|
||||
$container->parameters()
|
||||
->set('fragment.renderer.hinclude.global_template', null)
|
||||
->set('fragment.path', '/_fragment')
|
||||
;
|
||||
|
||||
$container->services()
|
||||
->set('fragment.handler', LazyLoadingFragmentHandler::class)
|
||||
->args([
|
||||
abstract_arg('fragment renderer locator'),
|
||||
service('request_stack'),
|
||||
param('kernel.debug'),
|
||||
])
|
||||
|
||||
->set('fragment.uri_generator', FragmentUriGenerator::class)
|
||||
->args([param('fragment.path'), service('uri_signer'), service('request_stack')])
|
||||
->alias(FragmentUriGeneratorInterface::class, 'fragment.uri_generator')
|
||||
|
||||
->set('fragment.renderer.inline', InlineFragmentRenderer::class)
|
||||
->args([service('http_kernel'), service('event_dispatcher')])
|
||||
->call('setFragmentPath', [param('fragment.path')])
|
||||
->tag('kernel.fragment_renderer', ['alias' => 'inline'])
|
||||
|
||||
->set('fragment.renderer.hinclude', HIncludeFragmentRenderer::class)
|
||||
->args([
|
||||
service('twig')->nullOnInvalid(),
|
||||
service('uri_signer'),
|
||||
param('fragment.renderer.hinclude.global_template'),
|
||||
])
|
||||
->call('setFragmentPath', [param('fragment.path')])
|
||||
|
||||
->set('fragment.renderer.esi', EsiFragmentRenderer::class)
|
||||
->args([
|
||||
service('esi')->nullOnInvalid(),
|
||||
service('fragment.renderer.inline'),
|
||||
service('uri_signer'),
|
||||
])
|
||||
->call('setFragmentPath', [param('fragment.path')])
|
||||
->tag('kernel.fragment_renderer', ['alias' => 'esi'])
|
||||
|
||||
->set('fragment.renderer.ssi', SsiFragmentRenderer::class)
|
||||
->args([
|
||||
service('ssi')->nullOnInvalid(),
|
||||
service('fragment.renderer.inline'),
|
||||
service('uri_signer'),
|
||||
])
|
||||
->call('setFragmentPath', [param('fragment.path')])
|
||||
->tag('kernel.fragment_renderer', ['alias' => 'ssi'])
|
||||
;
|
||||
};
|
||||
@@ -1,51 +0,0 @@
|
||||
<?xml version="1.0" ?>
|
||||
|
||||
<container xmlns="http://symfony.com/schema/dic/services"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://symfony.com/schema/dic/services https://symfony.com/schema/dic/services/services-1.0.xsd">
|
||||
|
||||
<parameters>
|
||||
<parameter key="fragment.renderer.hinclude.global_template"></parameter>
|
||||
<parameter key="fragment.path">/_fragment</parameter>
|
||||
</parameters>
|
||||
|
||||
<services>
|
||||
<defaults public="false" />
|
||||
|
||||
<service id="fragment.handler" class="Symfony\Component\HttpKernel\DependencyInjection\LazyLoadingFragmentHandler">
|
||||
<argument /> <!-- fragment renderer locator -->
|
||||
<argument type="service" id="request_stack" />
|
||||
<argument>%kernel.debug%</argument>
|
||||
</service>
|
||||
|
||||
<service id="fragment.renderer.inline" class="Symfony\Component\HttpKernel\Fragment\InlineFragmentRenderer">
|
||||
<tag name="kernel.fragment_renderer" alias="inline" />
|
||||
<argument type="service" id="http_kernel" />
|
||||
<argument type="service" id="event_dispatcher" />
|
||||
<call method="setFragmentPath"><argument>%fragment.path%</argument></call>
|
||||
</service>
|
||||
|
||||
<service id="fragment.renderer.hinclude" class="Symfony\Component\HttpKernel\Fragment\HIncludeFragmentRenderer">
|
||||
<argument /> <!-- templating or Twig service -->
|
||||
<argument type="service" id="uri_signer" />
|
||||
<argument>%fragment.renderer.hinclude.global_template%</argument>
|
||||
<call method="setFragmentPath"><argument>%fragment.path%</argument></call>
|
||||
</service>
|
||||
|
||||
<service id="fragment.renderer.esi" class="Symfony\Component\HttpKernel\Fragment\EsiFragmentRenderer">
|
||||
<tag name="kernel.fragment_renderer" alias="esi" />
|
||||
<argument type="service" id="esi" on-invalid="null" />
|
||||
<argument type="service" id="fragment.renderer.inline" />
|
||||
<argument type="service" id="uri_signer" />
|
||||
<call method="setFragmentPath"><argument>%fragment.path%</argument></call>
|
||||
</service>
|
||||
|
||||
<service id="fragment.renderer.ssi" class="Symfony\Component\HttpKernel\Fragment\SsiFragmentRenderer">
|
||||
<tag name="kernel.fragment_renderer" alias="ssi" />
|
||||
<argument type="service" id="ssi" on-invalid="null" />
|
||||
<argument type="service" id="fragment.renderer.inline" />
|
||||
<argument type="service" id="uri_signer" />
|
||||
<call method="setFragmentPath"><argument>%fragment.path%</argument></call>
|
||||
</service>
|
||||
</services>
|
||||
</container>
|
||||
@@ -0,0 +1,64 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
|
||||
|
||||
use Psr\Http\Client\ClientInterface;
|
||||
use Psr\Http\Message\ResponseFactoryInterface;
|
||||
use Psr\Http\Message\StreamFactoryInterface;
|
||||
use Symfony\Component\HttpClient\HttpClient;
|
||||
use Symfony\Component\HttpClient\HttplugClient;
|
||||
use Symfony\Component\HttpClient\Psr18Client;
|
||||
use Symfony\Component\HttpClient\Retry\GenericRetryStrategy;
|
||||
use Symfony\Contracts\HttpClient\HttpClientInterface;
|
||||
|
||||
return static function (ContainerConfigurator $container) {
|
||||
$container->services()
|
||||
->set('http_client', HttpClientInterface::class)
|
||||
->factory([HttpClient::class, 'create'])
|
||||
->args([
|
||||
[], // default options
|
||||
abstract_arg('max host connections'),
|
||||
])
|
||||
->call('setLogger', [service('logger')->ignoreOnInvalid()])
|
||||
->tag('monolog.logger', ['channel' => 'http_client'])
|
||||
->tag('kernel.reset', ['method' => 'reset', 'on_invalid' => 'ignore'])
|
||||
->tag('http_client.client')
|
||||
|
||||
->alias(HttpClientInterface::class, 'http_client')
|
||||
|
||||
->set('psr18.http_client', Psr18Client::class)
|
||||
->args([
|
||||
service('http_client'),
|
||||
service(ResponseFactoryInterface::class)->ignoreOnInvalid(),
|
||||
service(StreamFactoryInterface::class)->ignoreOnInvalid(),
|
||||
])
|
||||
|
||||
->alias(ClientInterface::class, 'psr18.http_client')
|
||||
|
||||
->set(\Http\Client\HttpClient::class, HttplugClient::class)
|
||||
->args([
|
||||
service('http_client'),
|
||||
service(ResponseFactoryInterface::class)->ignoreOnInvalid(),
|
||||
service(StreamFactoryInterface::class)->ignoreOnInvalid(),
|
||||
])
|
||||
|
||||
->set('http_client.abstract_retry_strategy', GenericRetryStrategy::class)
|
||||
->abstract()
|
||||
->args([
|
||||
abstract_arg('http codes'),
|
||||
abstract_arg('delay ms'),
|
||||
abstract_arg('multiplier'),
|
||||
abstract_arg('max delay ms'),
|
||||
abstract_arg('jitter'),
|
||||
])
|
||||
;
|
||||
};
|
||||
@@ -0,0 +1,25 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
|
||||
|
||||
use Symfony\Component\HttpClient\DataCollector\HttpClientDataCollector;
|
||||
|
||||
return static function (ContainerConfigurator $container) {
|
||||
$container->services()
|
||||
->set('data_collector.http_client', HttpClientDataCollector::class)
|
||||
->tag('data_collector', [
|
||||
'template' => '@WebProfiler/Collector/http_client.html.twig',
|
||||
'id' => 'http_client',
|
||||
'priority' => 250,
|
||||
])
|
||||
;
|
||||
};
|
||||
@@ -0,0 +1,26 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
|
||||
|
||||
use Symfony\Component\Translation\IdentityTranslator;
|
||||
use Symfony\Contracts\Translation\TranslatorInterface;
|
||||
|
||||
return static function (ContainerConfigurator $container) {
|
||||
$container->services()
|
||||
->set('translator', IdentityTranslator::class)
|
||||
->public()
|
||||
->tag('container.private', ['package' => 'symfony/framework-bundle', 'version' => '5.2'])
|
||||
->alias(TranslatorInterface::class, 'translator')
|
||||
|
||||
->set('identity_translator', IdentityTranslator::class)
|
||||
;
|
||||
};
|
||||
@@ -1,16 +0,0 @@
|
||||
<?xml version="1.0" ?>
|
||||
<container xmlns="http://symfony.com/schema/dic/services"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://symfony.com/schema/dic/services https://symfony.com/schema/dic/services/services-1.0.xsd">
|
||||
|
||||
<services>
|
||||
<defaults public="false" />
|
||||
|
||||
<service id="translator" class="Symfony\Component\Translation\IdentityTranslator" public="true">
|
||||
<argument type="service" id="translator.selector" />
|
||||
</service>
|
||||
<service id="Symfony\Component\Translation\TranslatorInterface" alias="translator" />
|
||||
|
||||
<service id="translator.selector" class="Symfony\Component\Translation\MessageSelector" />
|
||||
</services>
|
||||
</container>
|
||||
30
lib/symfony/framework-bundle/Resources/config/lock.php
Normal file
30
lib/symfony/framework-bundle/Resources/config/lock.php
Normal file
@@ -0,0 +1,30 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
|
||||
|
||||
use Symfony\Component\Lock\LockFactory;
|
||||
use Symfony\Component\Lock\Store\CombinedStore;
|
||||
use Symfony\Component\Lock\Strategy\ConsensusStrategy;
|
||||
|
||||
return static function (ContainerConfigurator $container) {
|
||||
$container->services()
|
||||
->set('lock.store.combined.abstract', CombinedStore::class)->abstract()
|
||||
->args([abstract_arg('List of stores'), service('lock.strategy.majority')])
|
||||
|
||||
->set('lock.strategy.majority', ConsensusStrategy::class)
|
||||
|
||||
->set('lock.factory.abstract', LockFactory::class)->abstract()
|
||||
->args([abstract_arg('Store')])
|
||||
->call('setLogger', [service('logger')->ignoreOnInvalid()])
|
||||
->tag('monolog.logger', ['channel' => 'lock'])
|
||||
;
|
||||
};
|
||||
@@ -1,38 +0,0 @@
|
||||
<?xml version="1.0" ?>
|
||||
|
||||
<container xmlns="http://symfony.com/schema/dic/services"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://symfony.com/schema/dic/services https://symfony.com/schema/dic/services/services-1.0.xsd">
|
||||
|
||||
<services>
|
||||
<defaults public="false" />
|
||||
|
||||
<service id="lock.store.flock" class="Symfony\Component\Lock\Store\FlockStore" />
|
||||
|
||||
<service id="lock.store.semaphore" class="Symfony\Component\Lock\Store\SemaphoreStore" />
|
||||
|
||||
<service id="lock.store.memcached.abstract" class="Symfony\Component\Lock\Store\MemcachedStore" abstract="true">
|
||||
<argument /> <!-- Memcached connection service -->
|
||||
</service>
|
||||
|
||||
<service id="lock.store.redis.abstract" class="Symfony\Component\Lock\Store\RedisStore" abstract="true">
|
||||
<argument /> <!-- Redis connection service -->
|
||||
</service>
|
||||
|
||||
<service id="lock.store.combined.abstract" class="Symfony\Component\Lock\Store\CombinedStore" abstract="true">
|
||||
<argument /> <!-- List of stores -->
|
||||
<argument type="service" id="lock.strategy.majority" /> <!-- Strategy -->
|
||||
</service>
|
||||
|
||||
<service id="lock.strategy.majority" class="Symfony\Component\Lock\Strategy\ConsensusStrategy" />
|
||||
|
||||
<service id="lock.factory.abstract" class="Symfony\Component\Lock\Factory" abstract="true">
|
||||
<tag name="monolog.logger" channel="lock" />
|
||||
<argument /> <!-- Store -->
|
||||
<call method="setLogger">
|
||||
<argument type="service" id="logger" on-invalid="ignore" />
|
||||
</call>
|
||||
</service>
|
||||
|
||||
</services>
|
||||
</container>
|
||||
81
lib/symfony/framework-bundle/Resources/config/mailer.php
Normal file
81
lib/symfony/framework-bundle/Resources/config/mailer.php
Normal file
@@ -0,0 +1,81 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
|
||||
|
||||
use Symfony\Component\Mailer\EventListener\EnvelopeListener;
|
||||
use Symfony\Component\Mailer\EventListener\MessageListener;
|
||||
use Symfony\Component\Mailer\EventListener\MessageLoggerListener;
|
||||
use Symfony\Component\Mailer\Mailer;
|
||||
use Symfony\Component\Mailer\MailerInterface;
|
||||
use Symfony\Component\Mailer\Messenger\MessageHandler;
|
||||
use Symfony\Component\Mailer\Transport;
|
||||
use Symfony\Component\Mailer\Transport\TransportInterface;
|
||||
use Symfony\Component\Mailer\Transport\Transports;
|
||||
|
||||
return static function (ContainerConfigurator $container) {
|
||||
$container->services()
|
||||
->set('mailer.mailer', Mailer::class)
|
||||
->args([
|
||||
service('mailer.transports'),
|
||||
abstract_arg('message bus'),
|
||||
service('event_dispatcher')->ignoreOnInvalid(),
|
||||
])
|
||||
->alias('mailer', 'mailer.mailer')
|
||||
->alias(MailerInterface::class, 'mailer.mailer')
|
||||
|
||||
->set('mailer.transports', Transports::class)
|
||||
->factory([service('mailer.transport_factory'), 'fromStrings'])
|
||||
->args([
|
||||
abstract_arg('transports'),
|
||||
])
|
||||
|
||||
->set('mailer.transport_factory', Transport::class)
|
||||
->args([
|
||||
tagged_iterator('mailer.transport_factory'),
|
||||
])
|
||||
|
||||
->set('mailer.default_transport', TransportInterface::class)
|
||||
->factory([service('mailer.transport_factory'), 'fromString'])
|
||||
->args([
|
||||
abstract_arg('env(MAILER_DSN)'),
|
||||
])
|
||||
->alias(TransportInterface::class, 'mailer.default_transport')
|
||||
|
||||
->set('mailer.messenger.message_handler', MessageHandler::class)
|
||||
->args([
|
||||
service('mailer.transports'),
|
||||
])
|
||||
->tag('messenger.message_handler')
|
||||
|
||||
->set('mailer.envelope_listener', EnvelopeListener::class)
|
||||
->args([
|
||||
abstract_arg('sender'),
|
||||
abstract_arg('recipients'),
|
||||
])
|
||||
->tag('kernel.event_subscriber')
|
||||
|
||||
->set('mailer.message_listener', MessageListener::class)
|
||||
->args([
|
||||
abstract_arg('headers'),
|
||||
])
|
||||
->tag('kernel.event_subscriber')
|
||||
|
||||
->set('mailer.logger_message_listener', MessageLoggerListener::class)
|
||||
->tag('kernel.event_subscriber')
|
||||
->tag('kernel.reset', ['method' => 'reset'])
|
||||
->deprecate('symfony/framework-bundle', '5.2', 'The "%service_id%" service is deprecated, use "mailer.message_logger_listener" instead.')
|
||||
|
||||
->set('mailer.message_logger_listener', MessageLoggerListener::class)
|
||||
->tag('kernel.event_subscriber')
|
||||
->tag('kernel.reset', ['method' => 'reset'])
|
||||
;
|
||||
};
|
||||
@@ -0,0 +1,27 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
|
||||
|
||||
use Symfony\Component\Mailer\DataCollector\MessageDataCollector;
|
||||
|
||||
return static function (ContainerConfigurator $container) {
|
||||
$container->services()
|
||||
->set('mailer.data_collector', MessageDataCollector::class)
|
||||
->args([
|
||||
service('mailer.message_logger_listener'),
|
||||
])
|
||||
->tag('data_collector', [
|
||||
'template' => '@WebProfiler/Collector/mailer.html.twig',
|
||||
'id' => 'mailer',
|
||||
])
|
||||
;
|
||||
};
|
||||
@@ -0,0 +1,91 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
|
||||
|
||||
use Symfony\Component\Mailer\Bridge\Amazon\Transport\SesTransportFactory;
|
||||
use Symfony\Component\Mailer\Bridge\Google\Transport\GmailTransportFactory;
|
||||
use Symfony\Component\Mailer\Bridge\Mailchimp\Transport\MandrillTransportFactory;
|
||||
use Symfony\Component\Mailer\Bridge\Mailgun\Transport\MailgunTransportFactory;
|
||||
use Symfony\Component\Mailer\Bridge\Mailjet\Transport\MailjetTransportFactory;
|
||||
use Symfony\Component\Mailer\Bridge\OhMySmtp\Transport\OhMySmtpTransportFactory;
|
||||
use Symfony\Component\Mailer\Bridge\Postmark\Transport\PostmarkTransportFactory;
|
||||
use Symfony\Component\Mailer\Bridge\Sendgrid\Transport\SendgridTransportFactory;
|
||||
use Symfony\Component\Mailer\Bridge\Sendinblue\Transport\SendinblueTransportFactory;
|
||||
use Symfony\Component\Mailer\Transport\AbstractTransportFactory;
|
||||
use Symfony\Component\Mailer\Transport\NativeTransportFactory;
|
||||
use Symfony\Component\Mailer\Transport\NullTransportFactory;
|
||||
use Symfony\Component\Mailer\Transport\SendmailTransportFactory;
|
||||
use Symfony\Component\Mailer\Transport\Smtp\EsmtpTransportFactory;
|
||||
|
||||
return static function (ContainerConfigurator $container) {
|
||||
$container->services()
|
||||
->set('mailer.transport_factory.abstract', AbstractTransportFactory::class)
|
||||
->abstract()
|
||||
->args([
|
||||
service('event_dispatcher'),
|
||||
service('http_client')->ignoreOnInvalid(),
|
||||
service('logger')->ignoreOnInvalid(),
|
||||
])
|
||||
->tag('monolog.logger', ['channel' => 'mailer'])
|
||||
|
||||
->set('mailer.transport_factory.amazon', SesTransportFactory::class)
|
||||
->parent('mailer.transport_factory.abstract')
|
||||
->tag('mailer.transport_factory')
|
||||
|
||||
->set('mailer.transport_factory.gmail', GmailTransportFactory::class)
|
||||
->parent('mailer.transport_factory.abstract')
|
||||
->tag('mailer.transport_factory')
|
||||
|
||||
->set('mailer.transport_factory.mailchimp', MandrillTransportFactory::class)
|
||||
->parent('mailer.transport_factory.abstract')
|
||||
->tag('mailer.transport_factory')
|
||||
|
||||
->set('mailer.transport_factory.mailjet', MailjetTransportFactory::class)
|
||||
->parent('mailer.transport_factory.abstract')
|
||||
->tag('mailer.transport_factory')
|
||||
|
||||
->set('mailer.transport_factory.mailgun', MailgunTransportFactory::class)
|
||||
->parent('mailer.transport_factory.abstract')
|
||||
->tag('mailer.transport_factory')
|
||||
|
||||
->set('mailer.transport_factory.postmark', PostmarkTransportFactory::class)
|
||||
->parent('mailer.transport_factory.abstract')
|
||||
->tag('mailer.transport_factory')
|
||||
|
||||
->set('mailer.transport_factory.sendgrid', SendgridTransportFactory::class)
|
||||
->parent('mailer.transport_factory.abstract')
|
||||
->tag('mailer.transport_factory')
|
||||
|
||||
->set('mailer.transport_factory.null', NullTransportFactory::class)
|
||||
->parent('mailer.transport_factory.abstract')
|
||||
->tag('mailer.transport_factory')
|
||||
|
||||
->set('mailer.transport_factory.sendmail', SendmailTransportFactory::class)
|
||||
->parent('mailer.transport_factory.abstract')
|
||||
->tag('mailer.transport_factory')
|
||||
|
||||
->set('mailer.transport_factory.sendinblue', SendinblueTransportFactory::class)
|
||||
->parent('mailer.transport_factory.abstract')
|
||||
->tag('mailer.transport_factory')
|
||||
|
||||
->set('mailer.transport_factory.ohmysmtp', OhMySmtpTransportFactory::class)
|
||||
->parent('mailer.transport_factory.abstract')
|
||||
->tag('mailer.transport_factory')
|
||||
|
||||
->set('mailer.transport_factory.smtp', EsmtpTransportFactory::class)
|
||||
->parent('mailer.transport_factory.abstract')
|
||||
->tag('mailer.transport_factory', ['priority' => -100])
|
||||
|
||||
->set('mailer.transport_factory.native', NativeTransportFactory::class)
|
||||
->parent('mailer.transport_factory.abstract')
|
||||
->tag('mailer.transport_factory');
|
||||
};
|
||||
215
lib/symfony/framework-bundle/Resources/config/messenger.php
Normal file
215
lib/symfony/framework-bundle/Resources/config/messenger.php
Normal file
@@ -0,0 +1,215 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
|
||||
|
||||
use Symfony\Component\DependencyInjection\ServiceLocator;
|
||||
use Symfony\Component\Messenger\Bridge\AmazonSqs\Transport\AmazonSqsTransportFactory;
|
||||
use Symfony\Component\Messenger\Bridge\Amqp\Transport\AmqpTransportFactory;
|
||||
use Symfony\Component\Messenger\Bridge\Beanstalkd\Transport\BeanstalkdTransportFactory;
|
||||
use Symfony\Component\Messenger\Bridge\Redis\Transport\RedisTransportFactory;
|
||||
use Symfony\Component\Messenger\EventListener\AddErrorDetailsStampListener;
|
||||
use Symfony\Component\Messenger\EventListener\DispatchPcntlSignalListener;
|
||||
use Symfony\Component\Messenger\EventListener\ResetServicesListener;
|
||||
use Symfony\Component\Messenger\EventListener\SendFailedMessageForRetryListener;
|
||||
use Symfony\Component\Messenger\EventListener\SendFailedMessageToFailureTransportListener;
|
||||
use Symfony\Component\Messenger\EventListener\StopWorkerOnCustomStopExceptionListener;
|
||||
use Symfony\Component\Messenger\EventListener\StopWorkerOnRestartSignalListener;
|
||||
use Symfony\Component\Messenger\EventListener\StopWorkerOnSigtermSignalListener;
|
||||
use Symfony\Component\Messenger\Middleware\AddBusNameStampMiddleware;
|
||||
use Symfony\Component\Messenger\Middleware\DispatchAfterCurrentBusMiddleware;
|
||||
use Symfony\Component\Messenger\Middleware\FailedMessageProcessingMiddleware;
|
||||
use Symfony\Component\Messenger\Middleware\HandleMessageMiddleware;
|
||||
use Symfony\Component\Messenger\Middleware\RejectRedeliveredMessageMiddleware;
|
||||
use Symfony\Component\Messenger\Middleware\RouterContextMiddleware;
|
||||
use Symfony\Component\Messenger\Middleware\SendMessageMiddleware;
|
||||
use Symfony\Component\Messenger\Middleware\TraceableMiddleware;
|
||||
use Symfony\Component\Messenger\Middleware\ValidationMiddleware;
|
||||
use Symfony\Component\Messenger\Retry\MultiplierRetryStrategy;
|
||||
use Symfony\Component\Messenger\RoutableMessageBus;
|
||||
use Symfony\Component\Messenger\Transport\InMemoryTransportFactory;
|
||||
use Symfony\Component\Messenger\Transport\Sender\SendersLocator;
|
||||
use Symfony\Component\Messenger\Transport\Serialization\Normalizer\FlattenExceptionNormalizer;
|
||||
use Symfony\Component\Messenger\Transport\Serialization\PhpSerializer;
|
||||
use Symfony\Component\Messenger\Transport\Serialization\Serializer;
|
||||
use Symfony\Component\Messenger\Transport\Serialization\SerializerInterface;
|
||||
use Symfony\Component\Messenger\Transport\Sync\SyncTransportFactory;
|
||||
use Symfony\Component\Messenger\Transport\TransportFactory;
|
||||
|
||||
return static function (ContainerConfigurator $container) {
|
||||
$container->services()
|
||||
->alias(SerializerInterface::class, 'messenger.default_serializer')
|
||||
|
||||
// Asynchronous
|
||||
->set('messenger.senders_locator', SendersLocator::class)
|
||||
->args([
|
||||
abstract_arg('per message senders map'),
|
||||
abstract_arg('senders service locator'),
|
||||
])
|
||||
->set('messenger.middleware.send_message', SendMessageMiddleware::class)
|
||||
->args([
|
||||
service('messenger.senders_locator'),
|
||||
service('event_dispatcher'),
|
||||
])
|
||||
->call('setLogger', [service('logger')->ignoreOnInvalid()])
|
||||
->tag('monolog.logger', ['channel' => 'messenger'])
|
||||
|
||||
// Message encoding/decoding
|
||||
->set('messenger.transport.symfony_serializer', Serializer::class)
|
||||
->args([
|
||||
service('serializer'),
|
||||
abstract_arg('format'),
|
||||
abstract_arg('context'),
|
||||
])
|
||||
|
||||
->set('serializer.normalizer.flatten_exception', FlattenExceptionNormalizer::class)
|
||||
->tag('serializer.normalizer', ['priority' => -880])
|
||||
|
||||
->set('messenger.transport.native_php_serializer', PhpSerializer::class)
|
||||
|
||||
// Middleware
|
||||
->set('messenger.middleware.handle_message', HandleMessageMiddleware::class)
|
||||
->abstract()
|
||||
->args([
|
||||
abstract_arg('bus handler resolver'),
|
||||
])
|
||||
->tag('monolog.logger', ['channel' => 'messenger'])
|
||||
->call('setLogger', [service('logger')->ignoreOnInvalid()])
|
||||
|
||||
->set('messenger.middleware.add_bus_name_stamp_middleware', AddBusNameStampMiddleware::class)
|
||||
->abstract()
|
||||
|
||||
->set('messenger.middleware.dispatch_after_current_bus', DispatchAfterCurrentBusMiddleware::class)
|
||||
|
||||
->set('messenger.middleware.validation', ValidationMiddleware::class)
|
||||
->args([
|
||||
service('validator'),
|
||||
])
|
||||
|
||||
->set('messenger.middleware.reject_redelivered_message_middleware', RejectRedeliveredMessageMiddleware::class)
|
||||
|
||||
->set('messenger.middleware.failed_message_processing_middleware', FailedMessageProcessingMiddleware::class)
|
||||
|
||||
->set('messenger.middleware.traceable', TraceableMiddleware::class)
|
||||
->abstract()
|
||||
->args([
|
||||
service('debug.stopwatch'),
|
||||
])
|
||||
|
||||
->set('messenger.middleware.router_context', RouterContextMiddleware::class)
|
||||
->args([
|
||||
service('router'),
|
||||
])
|
||||
|
||||
// Discovery
|
||||
->set('messenger.receiver_locator', ServiceLocator::class)
|
||||
->args([
|
||||
[],
|
||||
])
|
||||
->tag('container.service_locator')
|
||||
|
||||
// Transports
|
||||
->set('messenger.transport_factory', TransportFactory::class)
|
||||
->args([
|
||||
tagged_iterator('messenger.transport_factory'),
|
||||
])
|
||||
|
||||
->set('messenger.transport.amqp.factory', AmqpTransportFactory::class)
|
||||
|
||||
->set('messenger.transport.redis.factory', RedisTransportFactory::class)
|
||||
|
||||
->set('messenger.transport.sync.factory', SyncTransportFactory::class)
|
||||
->args([
|
||||
service('messenger.routable_message_bus'),
|
||||
])
|
||||
->tag('messenger.transport_factory')
|
||||
|
||||
->set('messenger.transport.in_memory.factory', InMemoryTransportFactory::class)
|
||||
->tag('messenger.transport_factory')
|
||||
->tag('kernel.reset', ['method' => 'reset'])
|
||||
|
||||
->set('messenger.transport.sqs.factory', AmazonSqsTransportFactory::class)
|
||||
->args([
|
||||
service('logger')->ignoreOnInvalid(),
|
||||
])
|
||||
|
||||
->set('messenger.transport.beanstalkd.factory', BeanstalkdTransportFactory::class)
|
||||
|
||||
// retry
|
||||
->set('messenger.retry_strategy_locator', ServiceLocator::class)
|
||||
->args([
|
||||
[],
|
||||
])
|
||||
->tag('container.service_locator')
|
||||
|
||||
->set('messenger.retry.abstract_multiplier_retry_strategy', MultiplierRetryStrategy::class)
|
||||
->abstract()
|
||||
->args([
|
||||
abstract_arg('max retries'),
|
||||
abstract_arg('delay ms'),
|
||||
abstract_arg('multiplier'),
|
||||
abstract_arg('max delay ms'),
|
||||
])
|
||||
|
||||
// worker event listener
|
||||
->set('messenger.retry.send_failed_message_for_retry_listener', SendFailedMessageForRetryListener::class)
|
||||
->args([
|
||||
abstract_arg('senders service locator'),
|
||||
service('messenger.retry_strategy_locator'),
|
||||
service('logger')->ignoreOnInvalid(),
|
||||
service('event_dispatcher'),
|
||||
])
|
||||
->tag('kernel.event_subscriber')
|
||||
->tag('monolog.logger', ['channel' => 'messenger'])
|
||||
|
||||
->set('messenger.failure.add_error_details_stamp_listener', AddErrorDetailsStampListener::class)
|
||||
->tag('kernel.event_subscriber')
|
||||
|
||||
->set('messenger.failure.send_failed_message_to_failure_transport_listener', SendFailedMessageToFailureTransportListener::class)
|
||||
->args([
|
||||
abstract_arg('failure transports'),
|
||||
service('logger')->ignoreOnInvalid(),
|
||||
])
|
||||
->tag('kernel.event_subscriber')
|
||||
->tag('monolog.logger', ['channel' => 'messenger'])
|
||||
|
||||
->set('messenger.listener.dispatch_pcntl_signal_listener', DispatchPcntlSignalListener::class)
|
||||
->tag('kernel.event_subscriber')
|
||||
|
||||
->set('messenger.listener.stop_worker_on_restart_signal_listener', StopWorkerOnRestartSignalListener::class)
|
||||
->args([
|
||||
service('cache.messenger.restart_workers_signal'),
|
||||
service('logger')->ignoreOnInvalid(),
|
||||
])
|
||||
->tag('kernel.event_subscriber')
|
||||
->tag('monolog.logger', ['channel' => 'messenger'])
|
||||
|
||||
->set('messenger.listener.stop_worker_on_sigterm_signal_listener', StopWorkerOnSigtermSignalListener::class)
|
||||
->args([
|
||||
service('logger')->ignoreOnInvalid(),
|
||||
])
|
||||
->tag('kernel.event_subscriber')
|
||||
|
||||
->set('messenger.listener.stop_worker_on_stop_exception_listener', StopWorkerOnCustomStopExceptionListener::class)
|
||||
->tag('kernel.event_subscriber')
|
||||
|
||||
->set('messenger.listener.reset_services', ResetServicesListener::class)
|
||||
->args([
|
||||
service('services_resetter'),
|
||||
])
|
||||
|
||||
->set('messenger.routable_message_bus', RoutableMessageBus::class)
|
||||
->args([
|
||||
abstract_arg('message bus locator'),
|
||||
service('messenger.default_bus'),
|
||||
])
|
||||
;
|
||||
};
|
||||
@@ -0,0 +1,25 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
|
||||
|
||||
use Symfony\Component\Messenger\DataCollector\MessengerDataCollector;
|
||||
|
||||
return static function (ContainerConfigurator $container) {
|
||||
$container->services()
|
||||
->set('data_collector.messenger', MessengerDataCollector::class)
|
||||
->tag('data_collector', [
|
||||
'template' => '@WebProfiler/Collector/messenger.html.twig',
|
||||
'id' => 'messenger',
|
||||
'priority' => 100,
|
||||
])
|
||||
;
|
||||
};
|
||||
26
lib/symfony/framework-bundle/Resources/config/mime_type.php
Normal file
26
lib/symfony/framework-bundle/Resources/config/mime_type.php
Normal file
@@ -0,0 +1,26 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
|
||||
|
||||
use Symfony\Component\Mime\MimeTypeGuesserInterface;
|
||||
use Symfony\Component\Mime\MimeTypes;
|
||||
use Symfony\Component\Mime\MimeTypesInterface;
|
||||
|
||||
return static function (ContainerConfigurator $container) {
|
||||
$container->services()
|
||||
->set('mime_types', MimeTypes::class)
|
||||
->call('setDefault', [service('mime_types')])
|
||||
|
||||
->alias(MimeTypesInterface::class, 'mime_types')
|
||||
->alias(MimeTypeGuesserInterface::class, 'mime_types')
|
||||
;
|
||||
};
|
||||
119
lib/symfony/framework-bundle/Resources/config/notifier.php
Normal file
119
lib/symfony/framework-bundle/Resources/config/notifier.php
Normal file
@@ -0,0 +1,119 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
|
||||
|
||||
use Symfony\Bridge\Monolog\Handler\NotifierHandler;
|
||||
use Symfony\Component\Notifier\Channel\BrowserChannel;
|
||||
use Symfony\Component\Notifier\Channel\ChannelPolicy;
|
||||
use Symfony\Component\Notifier\Channel\ChatChannel;
|
||||
use Symfony\Component\Notifier\Channel\EmailChannel;
|
||||
use Symfony\Component\Notifier\Channel\PushChannel;
|
||||
use Symfony\Component\Notifier\Channel\SmsChannel;
|
||||
use Symfony\Component\Notifier\Chatter;
|
||||
use Symfony\Component\Notifier\ChatterInterface;
|
||||
use Symfony\Component\Notifier\EventListener\NotificationLoggerListener;
|
||||
use Symfony\Component\Notifier\EventListener\SendFailedMessageToNotifierListener;
|
||||
use Symfony\Component\Notifier\Message\ChatMessage;
|
||||
use Symfony\Component\Notifier\Message\PushMessage;
|
||||
use Symfony\Component\Notifier\Message\SmsMessage;
|
||||
use Symfony\Component\Notifier\Messenger\MessageHandler;
|
||||
use Symfony\Component\Notifier\Notifier;
|
||||
use Symfony\Component\Notifier\NotifierInterface;
|
||||
use Symfony\Component\Notifier\Texter;
|
||||
use Symfony\Component\Notifier\TexterInterface;
|
||||
use Symfony\Component\Notifier\Transport;
|
||||
use Symfony\Component\Notifier\Transport\Transports;
|
||||
|
||||
return static function (ContainerConfigurator $container) {
|
||||
$container->services()
|
||||
->set('notifier', Notifier::class)
|
||||
->args([tagged_locator('notifier.channel', 'channel'), service('notifier.channel_policy')->ignoreOnInvalid()])
|
||||
|
||||
->alias(NotifierInterface::class, 'notifier')
|
||||
|
||||
->set('notifier.channel_policy', ChannelPolicy::class)
|
||||
->args([[]])
|
||||
|
||||
->set('notifier.channel.browser', BrowserChannel::class)
|
||||
->args([service('request_stack')])
|
||||
->tag('notifier.channel', ['channel' => 'browser'])
|
||||
|
||||
->set('notifier.channel.chat', ChatChannel::class)
|
||||
->args([service('chatter.transports'), service('messenger.default_bus')->ignoreOnInvalid()])
|
||||
->tag('notifier.channel', ['channel' => 'chat'])
|
||||
|
||||
->set('notifier.channel.sms', SmsChannel::class)
|
||||
->args([service('texter.transports'), service('messenger.default_bus')->ignoreOnInvalid()])
|
||||
->tag('notifier.channel', ['channel' => 'sms'])
|
||||
|
||||
->set('notifier.channel.email', EmailChannel::class)
|
||||
->args([service('mailer.transports'), service('messenger.default_bus')->ignoreOnInvalid()])
|
||||
->tag('notifier.channel', ['channel' => 'email'])
|
||||
|
||||
->set('notifier.channel.push', PushChannel::class)
|
||||
->args([service('texter.transports'), service('messenger.default_bus')->ignoreOnInvalid()])
|
||||
->tag('notifier.channel', ['channel' => 'push'])
|
||||
|
||||
->set('notifier.monolog_handler', NotifierHandler::class)
|
||||
->args([service('notifier')])
|
||||
|
||||
->set('notifier.failed_message_listener', SendFailedMessageToNotifierListener::class)
|
||||
->args([service('notifier')])
|
||||
|
||||
->set('chatter', Chatter::class)
|
||||
->args([
|
||||
service('chatter.transports'),
|
||||
service('messenger.default_bus')->ignoreOnInvalid(),
|
||||
service('event_dispatcher')->ignoreOnInvalid(),
|
||||
])
|
||||
|
||||
->alias(ChatterInterface::class, 'chatter')
|
||||
|
||||
->set('chatter.transports', Transports::class)
|
||||
->factory([service('chatter.transport_factory'), 'fromStrings'])
|
||||
->args([[]])
|
||||
|
||||
->set('chatter.transport_factory', Transport::class)
|
||||
->args([tagged_iterator('chatter.transport_factory')])
|
||||
|
||||
->set('chatter.messenger.chat_handler', MessageHandler::class)
|
||||
->args([service('chatter.transports')])
|
||||
->tag('messenger.message_handler', ['handles' => ChatMessage::class])
|
||||
|
||||
->set('texter', Texter::class)
|
||||
->args([
|
||||
service('texter.transports'),
|
||||
service('messenger.default_bus')->ignoreOnInvalid(),
|
||||
service('event_dispatcher')->ignoreOnInvalid(),
|
||||
])
|
||||
|
||||
->alias(TexterInterface::class, 'texter')
|
||||
|
||||
->set('texter.transports', Transports::class)
|
||||
->factory([service('texter.transport_factory'), 'fromStrings'])
|
||||
->args([[]])
|
||||
|
||||
->set('texter.transport_factory', Transport::class)
|
||||
->args([tagged_iterator('texter.transport_factory')])
|
||||
|
||||
->set('texter.messenger.sms_handler', MessageHandler::class)
|
||||
->args([service('texter.transports')])
|
||||
->tag('messenger.message_handler', ['handles' => SmsMessage::class])
|
||||
|
||||
->set('texter.messenger.push_handler', MessageHandler::class)
|
||||
->args([service('texter.transports')])
|
||||
->tag('messenger.message_handler', ['handles' => PushMessage::class])
|
||||
|
||||
->set('notifier.logger_notification_listener', NotificationLoggerListener::class)
|
||||
->tag('kernel.event_subscriber')
|
||||
;
|
||||
};
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
|
||||
|
||||
use Symfony\Component\Notifier\DataCollector\NotificationDataCollector;
|
||||
|
||||
return static function (ContainerConfigurator $container) {
|
||||
$container->services()
|
||||
->set('notifier.data_collector', NotificationDataCollector::class)
|
||||
->args([service('notifier.logger_notification_listener')])
|
||||
->tag('data_collector', ['template' => '@WebProfiler/Collector/notifier.html.twig', 'id' => 'notifier'])
|
||||
;
|
||||
};
|
||||
@@ -0,0 +1,277 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
|
||||
|
||||
use Symfony\Component\Notifier\Bridge\AllMySms\AllMySmsTransportFactory;
|
||||
use Symfony\Component\Notifier\Bridge\AmazonSns\AmazonSnsTransportFactory;
|
||||
use Symfony\Component\Notifier\Bridge\Clickatell\ClickatellTransportFactory;
|
||||
use Symfony\Component\Notifier\Bridge\Discord\DiscordTransportFactory;
|
||||
use Symfony\Component\Notifier\Bridge\Esendex\EsendexTransportFactory;
|
||||
use Symfony\Component\Notifier\Bridge\Expo\ExpoTransportFactory;
|
||||
use Symfony\Component\Notifier\Bridge\FakeChat\FakeChatTransportFactory;
|
||||
use Symfony\Component\Notifier\Bridge\FakeSms\FakeSmsTransportFactory;
|
||||
use Symfony\Component\Notifier\Bridge\Firebase\FirebaseTransportFactory;
|
||||
use Symfony\Component\Notifier\Bridge\FreeMobile\FreeMobileTransportFactory;
|
||||
use Symfony\Component\Notifier\Bridge\GatewayApi\GatewayApiTransportFactory;
|
||||
use Symfony\Component\Notifier\Bridge\Gitter\GitterTransportFactory;
|
||||
use Symfony\Component\Notifier\Bridge\GoogleChat\GoogleChatTransportFactory;
|
||||
use Symfony\Component\Notifier\Bridge\Infobip\InfobipTransportFactory;
|
||||
use Symfony\Component\Notifier\Bridge\Iqsms\IqsmsTransportFactory;
|
||||
use Symfony\Component\Notifier\Bridge\LightSms\LightSmsTransportFactory;
|
||||
use Symfony\Component\Notifier\Bridge\LinkedIn\LinkedInTransportFactory;
|
||||
use Symfony\Component\Notifier\Bridge\Mailjet\MailjetTransportFactory;
|
||||
use Symfony\Component\Notifier\Bridge\Mattermost\MattermostTransportFactory;
|
||||
use Symfony\Component\Notifier\Bridge\Mercure\MercureTransportFactory;
|
||||
use Symfony\Component\Notifier\Bridge\MessageBird\MessageBirdTransportFactory;
|
||||
use Symfony\Component\Notifier\Bridge\MessageMedia\MessageMediaTransportFactory;
|
||||
use Symfony\Component\Notifier\Bridge\MicrosoftTeams\MicrosoftTeamsTransportFactory;
|
||||
use Symfony\Component\Notifier\Bridge\Mobyt\MobytTransportFactory;
|
||||
use Symfony\Component\Notifier\Bridge\Nexmo\NexmoTransportFactory;
|
||||
use Symfony\Component\Notifier\Bridge\Octopush\OctopushTransportFactory;
|
||||
use Symfony\Component\Notifier\Bridge\OneSignal\OneSignalTransportFactory;
|
||||
use Symfony\Component\Notifier\Bridge\OvhCloud\OvhCloudTransportFactory;
|
||||
use Symfony\Component\Notifier\Bridge\RocketChat\RocketChatTransportFactory;
|
||||
use Symfony\Component\Notifier\Bridge\Sendinblue\SendinblueTransportFactory;
|
||||
use Symfony\Component\Notifier\Bridge\Sinch\SinchTransportFactory;
|
||||
use Symfony\Component\Notifier\Bridge\Slack\SlackTransportFactory;
|
||||
use Symfony\Component\Notifier\Bridge\Sms77\Sms77TransportFactory;
|
||||
use Symfony\Component\Notifier\Bridge\Smsapi\SmsapiTransportFactory;
|
||||
use Symfony\Component\Notifier\Bridge\SmsBiuras\SmsBiurasTransportFactory;
|
||||
use Symfony\Component\Notifier\Bridge\Smsc\SmscTransportFactory;
|
||||
use Symfony\Component\Notifier\Bridge\SpotHit\SpotHitTransportFactory;
|
||||
use Symfony\Component\Notifier\Bridge\Telegram\TelegramTransportFactory;
|
||||
use Symfony\Component\Notifier\Bridge\Telnyx\TelnyxTransportFactory;
|
||||
use Symfony\Component\Notifier\Bridge\TurboSms\TurboSmsTransportFactory;
|
||||
use Symfony\Component\Notifier\Bridge\Twilio\TwilioTransportFactory;
|
||||
use Symfony\Component\Notifier\Bridge\Vonage\VonageTransportFactory;
|
||||
use Symfony\Component\Notifier\Bridge\Yunpian\YunpianTransportFactory;
|
||||
use Symfony\Component\Notifier\Bridge\Zulip\ZulipTransportFactory;
|
||||
use Symfony\Component\Notifier\Transport\AbstractTransportFactory;
|
||||
use Symfony\Component\Notifier\Transport\NullTransportFactory;
|
||||
|
||||
return static function (ContainerConfigurator $container) {
|
||||
$container->services()
|
||||
->alias('notifier.transport_factory.allmysms', 'notifier.transport_factory.all-my-sms')
|
||||
->deprecate('symfony/framework-bundle', '5.4', 'The "%alias_id% service is deprecated, use "notifier.transport_factory.all-my-sms" instead.')
|
||||
->alias('notifier.transport_factory.fakechat', 'notifier.transport_factory.fake-chat')
|
||||
->deprecate('symfony/framework-bundle', '5.4', 'The "%alias_id% service is deprecated, use "notifier.transport_factory.fake-chat" instead.')
|
||||
->alias('notifier.transport_factory.fakesms', 'notifier.transport_factory.fake-sms')
|
||||
->deprecate('symfony/framework-bundle', '5.4', 'The "%alias_id% service is deprecated, use "notifier.transport_factory.fake-sms" instead.')
|
||||
->alias('notifier.transport_factory.freemobile', 'notifier.transport_factory.free-mobile')
|
||||
->deprecate('symfony/framework-bundle', '5.4', 'The "%alias_id% service is deprecated, use "notifier.transport_factory.free-mobile" instead.')
|
||||
->alias('notifier.transport_factory.gatewayapi', 'notifier.transport_factory.gateway-api')
|
||||
->deprecate('symfony/framework-bundle', '5.4', 'The "%alias_id% service is deprecated, use "notifier.transport_factory.gateway-api" instead.')
|
||||
->alias('notifier.transport_factory.googlechat', 'notifier.transport_factory.google-chat')
|
||||
->deprecate('symfony/framework-bundle', '5.4', 'The "%alias_id% service is deprecated, use "notifier.transport_factory.google-chat" instead.')
|
||||
->alias('notifier.transport_factory.lightsms', 'notifier.transport_factory.light-sms')
|
||||
->deprecate('symfony/framework-bundle', '5.4', 'The "%alias_id% service is deprecated, use "notifier.transport_factory.light-sms" instead.')
|
||||
->alias('notifier.transport_factory.linkedin', 'notifier.transport_factory.linked-in')
|
||||
->deprecate('symfony/framework-bundle', '5.4', 'The "%alias_id% service is deprecated, use "notifier.transport_factory.linked-in" instead.')
|
||||
->alias('notifier.transport_factory.microsoftteams', 'notifier.transport_factory.microsoft-teams')
|
||||
->deprecate('symfony/framework-bundle', '5.4', 'The "%alias_id% service is deprecated, use "notifier.transport_factory.microsoft-teams" instead.')
|
||||
->alias('notifier.transport_factory.onesignal', 'notifier.transport_factory.one-signal')
|
||||
->deprecate('symfony/framework-bundle', '5.4', 'The "%alias_id% service is deprecated, use "notifier.transport_factory.one-signal" instead.')
|
||||
->alias('notifier.transport_factory.ovhcloud', 'notifier.transport_factory.ovh-cloud')
|
||||
->deprecate('symfony/framework-bundle', '5.4', 'The "%alias_id% service is deprecated, use "notifier.transport_factory.ovh-cloud" instead.')
|
||||
->alias('notifier.transport_factory.rocketchat', 'notifier.transport_factory.rocket-chat')
|
||||
->deprecate('symfony/framework-bundle', '5.4', 'The "%alias_id% service is deprecated, use "notifier.transport_factory.rocket-chat" instead.')
|
||||
->alias('notifier.transport_factory.spothit', 'notifier.transport_factory.spot-hit')
|
||||
->deprecate('symfony/framework-bundle', '5.4', 'The "%alias_id% service is deprecated, use "notifier.transport_factory.spot-hit" instead.')
|
||||
|
||||
->set('notifier.transport_factory.abstract', AbstractTransportFactory::class)
|
||||
->abstract()
|
||||
->args([service('event_dispatcher'), service('http_client')->ignoreOnInvalid()])
|
||||
|
||||
->set('notifier.transport_factory.slack', SlackTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('chatter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.linked-in', LinkedInTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('chatter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.telegram', TelegramTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('chatter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.mattermost', MattermostTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('chatter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.nexmo', NexmoTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('texter.transport_factory')
|
||||
->deprecate('symfony/framework-bundle', '5.4', 'The "%service_id% service is deprecated, use "notifier.transport_factory.vonage" instead.')
|
||||
|
||||
->set('notifier.transport_factory.vonage', VonageTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('texter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.rocket-chat', RocketChatTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('chatter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.google-chat', GoogleChatTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('chatter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.twilio', TwilioTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('texter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.all-my-sms', AllMySmsTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('texter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.firebase', FirebaseTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('chatter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.free-mobile', FreeMobileTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('texter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.spot-hit', SpotHitTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('texter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.fake-chat', FakeChatTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('chatter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.fake-sms', FakeSmsTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('texter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.ovh-cloud', OvhCloudTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('texter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.sinch', SinchTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('texter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.zulip', ZulipTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('chatter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.infobip', InfobipTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('texter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.mobyt', MobytTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('texter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.smsapi', SmsapiTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('texter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.esendex', EsendexTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('texter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.sendinblue', SendinblueTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('texter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.iqsms', IqsmsTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('texter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.octopush', OctopushTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('texter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.discord', DiscordTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('chatter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.microsoft-teams', MicrosoftTeamsTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('chatter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.gateway-api', GatewayApiTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('texter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.mercure', MercureTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('chatter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.gitter', GitterTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('chatter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.clickatell', ClickatellTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('texter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.amazon-sns', AmazonSnsTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('texter.transport_factory')
|
||||
->tag('chatter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.null', NullTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('chatter.transport_factory')
|
||||
->tag('texter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.light-sms', LightSmsTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('texter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.sms-biuras', SmsBiurasTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('texter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.smsc', SmscTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('texter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.message-bird', MessageBirdTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('texter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.message-media', MessageMediaTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('texter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.telnyx', TelnyxTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('texter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.mailjet', MailjetTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('texter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.yunpian', YunpianTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('texter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.turbo-sms', TurboSmsTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('texter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.sms77', Sms77TransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('texter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.one-signal', OneSignalTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('texter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.expo', ExpoTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('texter.transport_factory')
|
||||
;
|
||||
};
|
||||
39
lib/symfony/framework-bundle/Resources/config/profiling.php
Normal file
39
lib/symfony/framework-bundle/Resources/config/profiling.php
Normal file
@@ -0,0 +1,39 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
|
||||
|
||||
use Symfony\Component\HttpKernel\EventListener\ProfilerListener;
|
||||
use Symfony\Component\HttpKernel\Profiler\FileProfilerStorage;
|
||||
use Symfony\Component\HttpKernel\Profiler\Profiler;
|
||||
|
||||
return static function (ContainerConfigurator $container) {
|
||||
$container->services()
|
||||
->set('profiler', Profiler::class)
|
||||
->public()
|
||||
->args([service('profiler.storage'), service('logger')->nullOnInvalid()])
|
||||
->tag('monolog.logger', ['channel' => 'profiler'])
|
||||
->tag('container.private', ['package' => 'symfony/framework-bundle', 'version' => '5.4'])
|
||||
|
||||
->set('profiler.storage', FileProfilerStorage::class)
|
||||
->args([param('profiler.storage.dsn')])
|
||||
|
||||
->set('profiler_listener', ProfilerListener::class)
|
||||
->args([
|
||||
service('profiler'),
|
||||
service('request_stack'),
|
||||
null,
|
||||
param('profiler_listener.only_exceptions'),
|
||||
param('profiler_listener.only_main_requests'),
|
||||
])
|
||||
->tag('kernel.event_subscriber')
|
||||
;
|
||||
};
|
||||
@@ -1,29 +0,0 @@
|
||||
<?xml version="1.0" ?>
|
||||
|
||||
<container xmlns="http://symfony.com/schema/dic/services"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://symfony.com/schema/dic/services https://symfony.com/schema/dic/services/services-1.0.xsd">
|
||||
|
||||
<services>
|
||||
<defaults public="false" />
|
||||
|
||||
<service id="profiler" class="Symfony\Component\HttpKernel\Profiler\Profiler" public="true">
|
||||
<tag name="monolog.logger" channel="profiler" />
|
||||
<argument type="service" id="profiler.storage" />
|
||||
<argument type="service" id="logger" on-invalid="null" />
|
||||
</service>
|
||||
|
||||
<service id="profiler.storage" class="Symfony\Component\HttpKernel\Profiler\FileProfilerStorage">
|
||||
<argument>%profiler.storage.dsn%</argument>
|
||||
</service>
|
||||
|
||||
<service id="profiler_listener" class="Symfony\Component\HttpKernel\EventListener\ProfilerListener">
|
||||
<tag name="kernel.event_subscriber" />
|
||||
<argument type="service" id="profiler" />
|
||||
<argument type="service" id="request_stack" />
|
||||
<argument type="service" id="profiler.request_matcher" on-invalid="null" />
|
||||
<argument>%profiler_listener.only_exceptions%</argument>
|
||||
<argument>%profiler_listener.only_master_requests%</argument>
|
||||
</service>
|
||||
</services>
|
||||
</container>
|
||||
@@ -0,0 +1,30 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
|
||||
|
||||
use Symfony\Component\PropertyAccess\PropertyAccessor;
|
||||
use Symfony\Component\PropertyAccess\PropertyAccessorInterface;
|
||||
|
||||
return static function (ContainerConfigurator $container) {
|
||||
$container->services()
|
||||
->set('property_accessor', PropertyAccessor::class)
|
||||
->args([
|
||||
abstract_arg('magic methods allowed, set by the extension'),
|
||||
abstract_arg('throw exceptions, set by the extension'),
|
||||
service('cache.property_access')->ignoreOnInvalid(),
|
||||
abstract_arg('propertyReadInfoExtractor, set by the extension'),
|
||||
abstract_arg('propertyWriteInfoExtractor, set by the extension'),
|
||||
])
|
||||
|
||||
->alias(PropertyAccessorInterface::class, 'property_accessor')
|
||||
;
|
||||
};
|
||||
@@ -1,17 +0,0 @@
|
||||
<?xml version="1.0" ?>
|
||||
|
||||
<container xmlns="http://symfony.com/schema/dic/services"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://symfony.com/schema/dic/services https://symfony.com/schema/dic/services/services-1.0.xsd">
|
||||
|
||||
<services>
|
||||
<defaults public="false" />
|
||||
|
||||
<service id="property_accessor" class="Symfony\Component\PropertyAccess\PropertyAccessor">
|
||||
<argument /> <!-- magicCall, set by the extension -->
|
||||
<argument /> <!-- throwExceptionOnInvalidIndex, set by the extension -->
|
||||
<argument type="service" id="cache.property_access" on-invalid="ignore" />
|
||||
</service>
|
||||
<service id="Symfony\Component\PropertyAccess\PropertyAccessorInterface" alias="property_accessor" />
|
||||
</services>
|
||||
</container>
|
||||
@@ -0,0 +1,52 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
|
||||
|
||||
use Symfony\Component\PropertyInfo\Extractor\ReflectionExtractor;
|
||||
use Symfony\Component\PropertyInfo\PropertyAccessExtractorInterface;
|
||||
use Symfony\Component\PropertyInfo\PropertyDescriptionExtractorInterface;
|
||||
use Symfony\Component\PropertyInfo\PropertyInfoCacheExtractor;
|
||||
use Symfony\Component\PropertyInfo\PropertyInfoExtractor;
|
||||
use Symfony\Component\PropertyInfo\PropertyInfoExtractorInterface;
|
||||
use Symfony\Component\PropertyInfo\PropertyInitializableExtractorInterface;
|
||||
use Symfony\Component\PropertyInfo\PropertyListExtractorInterface;
|
||||
use Symfony\Component\PropertyInfo\PropertyReadInfoExtractorInterface;
|
||||
use Symfony\Component\PropertyInfo\PropertyTypeExtractorInterface;
|
||||
use Symfony\Component\PropertyInfo\PropertyWriteInfoExtractorInterface;
|
||||
|
||||
return static function (ContainerConfigurator $container) {
|
||||
$container->services()
|
||||
->set('property_info', PropertyInfoExtractor::class)
|
||||
->args([[], [], [], [], []])
|
||||
|
||||
->alias(PropertyAccessExtractorInterface::class, 'property_info')
|
||||
->alias(PropertyDescriptionExtractorInterface::class, 'property_info')
|
||||
->alias(PropertyInfoExtractorInterface::class, 'property_info')
|
||||
->alias(PropertyTypeExtractorInterface::class, 'property_info')
|
||||
->alias(PropertyListExtractorInterface::class, 'property_info')
|
||||
->alias(PropertyInitializableExtractorInterface::class, 'property_info')
|
||||
|
||||
->set('property_info.cache', PropertyInfoCacheExtractor::class)
|
||||
->decorate('property_info')
|
||||
->args([service('property_info.cache.inner'), service('cache.property_info')])
|
||||
|
||||
// Extractor
|
||||
->set('property_info.reflection_extractor', ReflectionExtractor::class)
|
||||
->tag('property_info.list_extractor', ['priority' => -1000])
|
||||
->tag('property_info.type_extractor', ['priority' => -1002])
|
||||
->tag('property_info.access_extractor', ['priority' => -1000])
|
||||
->tag('property_info.initializable_extractor', ['priority' => -1000])
|
||||
|
||||
->alias(PropertyReadInfoExtractorInterface::class, 'property_info.reflection_extractor')
|
||||
->alias(PropertyWriteInfoExtractorInterface::class, 'property_info.reflection_extractor')
|
||||
;
|
||||
};
|
||||
@@ -1,25 +0,0 @@
|
||||
<?xml version="1.0" ?>
|
||||
|
||||
<container xmlns="http://symfony.com/schema/dic/services"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://symfony.com/schema/dic/services https://symfony.com/schema/dic/services/services-1.0.xsd">
|
||||
|
||||
<services>
|
||||
<defaults public="false" />
|
||||
|
||||
<service id="property_info" class="Symfony\Component\PropertyInfo\PropertyInfoExtractor">
|
||||
<argument type="collection" />
|
||||
<argument type="collection" />
|
||||
<argument type="collection" />
|
||||
<argument type="collection" />
|
||||
</service>
|
||||
<service id="Symfony\Component\PropertyInfo\PropertyInfoExtractorInterface" alias="property_info" />
|
||||
|
||||
<!-- Extractor -->
|
||||
<service id="property_info.reflection_extractor" class="Symfony\Component\PropertyInfo\Extractor\ReflectionExtractor">
|
||||
<tag name="property_info.list_extractor" priority="-1000" />
|
||||
<tag name="property_info.type_extractor" priority="-1002" />
|
||||
<tag name="property_info.access_extractor" priority="-1000" />
|
||||
</service>
|
||||
</services>
|
||||
</container>
|
||||
@@ -0,0 +1,30 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
|
||||
|
||||
use Symfony\Component\RateLimiter\RateLimiterFactory;
|
||||
|
||||
return static function (ContainerConfigurator $container) {
|
||||
$container->services()
|
||||
->set('cache.rate_limiter')
|
||||
->parent('cache.app')
|
||||
->tag('cache.pool')
|
||||
|
||||
->set('limiter', RateLimiterFactory::class)
|
||||
->abstract()
|
||||
->args([
|
||||
abstract_arg('config'),
|
||||
abstract_arg('storage'),
|
||||
null,
|
||||
])
|
||||
;
|
||||
};
|
||||
22
lib/symfony/framework-bundle/Resources/config/request.php
Normal file
22
lib/symfony/framework-bundle/Resources/config/request.php
Normal file
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
|
||||
|
||||
use Symfony\Component\HttpKernel\EventListener\AddRequestFormatsListener;
|
||||
|
||||
return static function (ContainerConfigurator $container) {
|
||||
$container->services()
|
||||
->set('request.add_request_formats_listener', AddRequestFormatsListener::class)
|
||||
->args([abstract_arg('formats')])
|
||||
->tag('kernel.event_subscriber')
|
||||
;
|
||||
};
|
||||
@@ -1,15 +0,0 @@
|
||||
<?xml version="1.0" ?>
|
||||
|
||||
<container xmlns="http://symfony.com/schema/dic/services"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://symfony.com/schema/dic/services https://symfony.com/schema/dic/services/services-1.0.xsd">
|
||||
|
||||
<services>
|
||||
<defaults public="false" />
|
||||
|
||||
<service id="request.add_request_formats_listener" class="Symfony\Component\HttpKernel\EventListener\AddRequestFormatsListener">
|
||||
<tag name="kernel.event_subscriber" />
|
||||
<argument/>
|
||||
</service>
|
||||
</services>
|
||||
</container>
|
||||
182
lib/symfony/framework-bundle/Resources/config/routing.php
Normal file
182
lib/symfony/framework-bundle/Resources/config/routing.php
Normal file
@@ -0,0 +1,182 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
|
||||
|
||||
use Psr\Container\ContainerInterface;
|
||||
use Symfony\Bundle\FrameworkBundle\CacheWarmer\RouterCacheWarmer;
|
||||
use Symfony\Bundle\FrameworkBundle\Controller\RedirectController;
|
||||
use Symfony\Bundle\FrameworkBundle\Controller\TemplateController;
|
||||
use Symfony\Bundle\FrameworkBundle\Routing\DelegatingLoader;
|
||||
use Symfony\Bundle\FrameworkBundle\Routing\RedirectableCompiledUrlMatcher;
|
||||
use Symfony\Bundle\FrameworkBundle\Routing\Router;
|
||||
use Symfony\Component\Config\Loader\LoaderResolver;
|
||||
use Symfony\Component\HttpKernel\EventListener\RouterListener;
|
||||
use Symfony\Component\Routing\Generator\CompiledUrlGenerator;
|
||||
use Symfony\Component\Routing\Generator\Dumper\CompiledUrlGeneratorDumper;
|
||||
use Symfony\Component\Routing\Generator\UrlGeneratorInterface;
|
||||
use Symfony\Component\Routing\Loader\ContainerLoader;
|
||||
use Symfony\Component\Routing\Loader\DirectoryLoader;
|
||||
use Symfony\Component\Routing\Loader\GlobFileLoader;
|
||||
use Symfony\Component\Routing\Loader\PhpFileLoader;
|
||||
use Symfony\Component\Routing\Loader\XmlFileLoader;
|
||||
use Symfony\Component\Routing\Loader\YamlFileLoader;
|
||||
use Symfony\Component\Routing\Matcher\Dumper\CompiledUrlMatcherDumper;
|
||||
use Symfony\Component\Routing\Matcher\ExpressionLanguageProvider;
|
||||
use Symfony\Component\Routing\Matcher\UrlMatcherInterface;
|
||||
use Symfony\Component\Routing\RequestContext;
|
||||
use Symfony\Component\Routing\RequestContextAwareInterface;
|
||||
use Symfony\Component\Routing\RouterInterface;
|
||||
|
||||
return static function (ContainerConfigurator $container) {
|
||||
$container->parameters()
|
||||
->set('router.request_context.host', 'localhost')
|
||||
->set('router.request_context.scheme', 'http')
|
||||
->set('router.request_context.base_url', '')
|
||||
;
|
||||
|
||||
$container->services()
|
||||
->set('routing.resolver', LoaderResolver::class)
|
||||
|
||||
->set('routing.loader.xml', XmlFileLoader::class)
|
||||
->args([
|
||||
service('file_locator'),
|
||||
'%kernel.environment%',
|
||||
])
|
||||
->tag('routing.loader')
|
||||
|
||||
->set('routing.loader.yml', YamlFileLoader::class)
|
||||
->args([
|
||||
service('file_locator'),
|
||||
'%kernel.environment%',
|
||||
])
|
||||
->tag('routing.loader')
|
||||
|
||||
->set('routing.loader.php', PhpFileLoader::class)
|
||||
->args([
|
||||
service('file_locator'),
|
||||
'%kernel.environment%',
|
||||
])
|
||||
->tag('routing.loader')
|
||||
|
||||
->set('routing.loader.glob', GlobFileLoader::class)
|
||||
->args([
|
||||
service('file_locator'),
|
||||
'%kernel.environment%',
|
||||
])
|
||||
->tag('routing.loader')
|
||||
|
||||
->set('routing.loader.directory', DirectoryLoader::class)
|
||||
->args([
|
||||
service('file_locator'),
|
||||
'%kernel.environment%',
|
||||
])
|
||||
->tag('routing.loader')
|
||||
|
||||
->set('routing.loader.container', ContainerLoader::class)
|
||||
->args([
|
||||
tagged_locator('routing.route_loader'),
|
||||
'%kernel.environment%',
|
||||
])
|
||||
->tag('routing.loader')
|
||||
|
||||
->set('routing.loader', DelegatingLoader::class)
|
||||
->public()
|
||||
->args([
|
||||
service('routing.resolver'),
|
||||
[], // Default options
|
||||
[], // Default requirements
|
||||
])
|
||||
|
||||
->set('router.default', Router::class)
|
||||
->args([
|
||||
service(ContainerInterface::class),
|
||||
param('router.resource'),
|
||||
[
|
||||
'cache_dir' => param('kernel.cache_dir'),
|
||||
'debug' => param('kernel.debug'),
|
||||
'generator_class' => CompiledUrlGenerator::class,
|
||||
'generator_dumper_class' => CompiledUrlGeneratorDumper::class,
|
||||
'matcher_class' => RedirectableCompiledUrlMatcher::class,
|
||||
'matcher_dumper_class' => CompiledUrlMatcherDumper::class,
|
||||
],
|
||||
service('router.request_context')->ignoreOnInvalid(),
|
||||
service('parameter_bag')->ignoreOnInvalid(),
|
||||
service('logger')->ignoreOnInvalid(),
|
||||
param('kernel.default_locale'),
|
||||
])
|
||||
->call('setConfigCacheFactory', [
|
||||
service('config_cache_factory'),
|
||||
])
|
||||
->tag('monolog.logger', ['channel' => 'router'])
|
||||
->tag('container.service_subscriber', ['id' => 'routing.loader'])
|
||||
->alias('router', 'router.default')
|
||||
->public()
|
||||
->alias(RouterInterface::class, 'router')
|
||||
->alias(UrlGeneratorInterface::class, 'router')
|
||||
->alias(UrlMatcherInterface::class, 'router')
|
||||
->alias(RequestContextAwareInterface::class, 'router')
|
||||
|
||||
->set('router.request_context', RequestContext::class)
|
||||
->factory([RequestContext::class, 'fromUri'])
|
||||
->args([
|
||||
param('router.request_context.base_url'),
|
||||
param('router.request_context.host'),
|
||||
param('router.request_context.scheme'),
|
||||
param('request_listener.http_port'),
|
||||
param('request_listener.https_port'),
|
||||
])
|
||||
->call('setParameter', [
|
||||
'_functions',
|
||||
service('router.expression_language_provider')->ignoreOnInvalid(),
|
||||
])
|
||||
->alias(RequestContext::class, 'router.request_context')
|
||||
|
||||
->set('router.expression_language_provider', ExpressionLanguageProvider::class)
|
||||
->args([
|
||||
tagged_locator('routing.expression_language_function', 'function'),
|
||||
])
|
||||
->tag('routing.expression_language_provider')
|
||||
|
||||
->set('router.cache_warmer', RouterCacheWarmer::class)
|
||||
->args([service(ContainerInterface::class)])
|
||||
->tag('container.service_subscriber', ['id' => 'router'])
|
||||
->tag('kernel.cache_warmer')
|
||||
|
||||
->set('router_listener', RouterListener::class)
|
||||
->args([
|
||||
service('router'),
|
||||
service('request_stack'),
|
||||
service('router.request_context')->ignoreOnInvalid(),
|
||||
service('logger')->ignoreOnInvalid(),
|
||||
param('kernel.project_dir'),
|
||||
param('kernel.debug'),
|
||||
])
|
||||
->tag('kernel.event_subscriber')
|
||||
->tag('monolog.logger', ['channel' => 'request'])
|
||||
|
||||
->set(RedirectController::class)
|
||||
->public()
|
||||
->args([
|
||||
service('router'),
|
||||
inline_service('int')
|
||||
->factory([service('router.request_context'), 'getHttpPort']),
|
||||
inline_service('int')
|
||||
->factory([service('router.request_context'), 'getHttpsPort']),
|
||||
])
|
||||
|
||||
->set(TemplateController::class)
|
||||
->args([
|
||||
service('twig')->ignoreOnInvalid(),
|
||||
])
|
||||
->public()
|
||||
;
|
||||
};
|
||||
@@ -1,126 +0,0 @@
|
||||
<?xml version="1.0" ?>
|
||||
|
||||
<container xmlns="http://symfony.com/schema/dic/services"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://symfony.com/schema/dic/services https://symfony.com/schema/dic/services/services-1.0.xsd">
|
||||
|
||||
<parameters>
|
||||
<parameter key="router.options.generator_class">Symfony\Component\Routing\Generator\UrlGenerator</parameter>
|
||||
<parameter key="router.options.generator_base_class">Symfony\Component\Routing\Generator\UrlGenerator</parameter>
|
||||
<parameter key="router.options.generator_dumper_class">Symfony\Component\Routing\Generator\Dumper\PhpGeneratorDumper</parameter>
|
||||
<parameter key="router.options.matcher_class">Symfony\Bundle\FrameworkBundle\Routing\RedirectableUrlMatcher</parameter>
|
||||
<parameter key="router.options.matcher_base_class">Symfony\Bundle\FrameworkBundle\Routing\RedirectableUrlMatcher</parameter>
|
||||
<parameter key="router.options.matcher_dumper_class">Symfony\Component\Routing\Matcher\Dumper\PhpMatcherDumper</parameter>
|
||||
<parameter key="router.options.matcher.cache_class">%router.cache_class_prefix%UrlMatcher</parameter>
|
||||
<parameter key="router.options.generator.cache_class">%router.cache_class_prefix%UrlGenerator</parameter>
|
||||
<parameter key="router.request_context.host">localhost</parameter>
|
||||
<parameter key="router.request_context.scheme">http</parameter>
|
||||
<parameter key="router.request_context.base_url"></parameter>
|
||||
</parameters>
|
||||
|
||||
<services>
|
||||
<defaults public="false" />
|
||||
|
||||
<service id="routing.resolver" class="Symfony\Component\Config\Loader\LoaderResolver" />
|
||||
|
||||
<service id="routing.loader.xml" class="Symfony\Component\Routing\Loader\XmlFileLoader">
|
||||
<tag name="routing.loader" />
|
||||
<argument type="service" id="file_locator" />
|
||||
</service>
|
||||
|
||||
<service id="routing.loader.yml" class="Symfony\Component\Routing\Loader\YamlFileLoader">
|
||||
<tag name="routing.loader" />
|
||||
<argument type="service" id="file_locator" />
|
||||
</service>
|
||||
|
||||
<service id="routing.loader.php" class="Symfony\Component\Routing\Loader\PhpFileLoader">
|
||||
<tag name="routing.loader" />
|
||||
<argument type="service" id="file_locator" />
|
||||
</service>
|
||||
|
||||
<service id="routing.loader.glob" class="Symfony\Component\Routing\Loader\GlobFileLoader">
|
||||
<tag name="routing.loader" />
|
||||
<argument type="service" id="file_locator" />
|
||||
</service>
|
||||
|
||||
<service id="routing.loader.directory" class="Symfony\Component\Routing\Loader\DirectoryLoader">
|
||||
<tag name="routing.loader" />
|
||||
<argument type="service" id="file_locator" />
|
||||
</service>
|
||||
|
||||
<service id="routing.loader.service" class="Symfony\Component\Routing\Loader\DependencyInjection\ServiceRouterLoader">
|
||||
<tag name="routing.loader" />
|
||||
<argument type="service" id="service_container" />
|
||||
</service>
|
||||
|
||||
<service id="routing.loader" class="Symfony\Bundle\FrameworkBundle\Routing\DelegatingLoader" public="true">
|
||||
<argument type="service" id="controller_name_converter" />
|
||||
<argument type="service" id="routing.resolver" />
|
||||
</service>
|
||||
|
||||
<service id="router.default" class="Symfony\Bundle\FrameworkBundle\Routing\Router">
|
||||
<argument type="service" id="service_container" />
|
||||
<argument>%router.resource%</argument>
|
||||
<argument type="collection">
|
||||
<argument key="cache_dir">%kernel.cache_dir%</argument>
|
||||
<argument key="debug">%kernel.debug%</argument>
|
||||
<argument key="generator_class">%router.options.generator_class%</argument>
|
||||
<argument key="generator_base_class">%router.options.generator_base_class%</argument>
|
||||
<argument key="generator_dumper_class">%router.options.generator_dumper_class%</argument>
|
||||
<argument key="generator_cache_class">%router.options.generator.cache_class%</argument>
|
||||
<argument key="matcher_class">%router.options.matcher_class%</argument>
|
||||
<argument key="matcher_base_class">%router.options.matcher_base_class%</argument>
|
||||
<argument key="matcher_dumper_class">%router.options.matcher_dumper_class%</argument>
|
||||
<argument key="matcher_cache_class">%router.options.matcher.cache_class%</argument>
|
||||
</argument>
|
||||
<argument type="service" id="router.request_context" on-invalid="ignore" />
|
||||
<call method="setConfigCacheFactory">
|
||||
<argument type="service" id="config_cache_factory" />
|
||||
</call>
|
||||
</service>
|
||||
|
||||
<service id="router" alias="router.default" public="true" />
|
||||
<service id="Symfony\Component\Routing\RouterInterface" alias="router" />
|
||||
<service id="Symfony\Component\Routing\Generator\UrlGeneratorInterface" alias="router" />
|
||||
<service id="Symfony\Component\Routing\Matcher\UrlMatcherInterface" alias="router" />
|
||||
<service id="Symfony\Component\Routing\RequestContextAwareInterface" alias="router" />
|
||||
|
||||
<service id="router.request_context" class="Symfony\Component\Routing\RequestContext">
|
||||
<argument>%router.request_context.base_url%</argument>
|
||||
<argument>GET</argument>
|
||||
<argument>%router.request_context.host%</argument>
|
||||
<argument>%router.request_context.scheme%</argument>
|
||||
<argument>%request_listener.http_port%</argument>
|
||||
<argument>%request_listener.https_port%</argument>
|
||||
</service>
|
||||
<service id="Symfony\Component\Routing\RequestContext" alias="router.request_context" />
|
||||
|
||||
<service id="router.cache_warmer" class="Symfony\Bundle\FrameworkBundle\CacheWarmer\RouterCacheWarmer">
|
||||
<tag name="container.service_subscriber" id="router" />
|
||||
<tag name="kernel.cache_warmer" />
|
||||
<argument type="service" id="Psr\Container\ContainerInterface" />
|
||||
</service>
|
||||
|
||||
<service id="router_listener" class="Symfony\Component\HttpKernel\EventListener\RouterListener">
|
||||
<tag name="kernel.event_subscriber" />
|
||||
<tag name="monolog.logger" channel="request" />
|
||||
<argument type="service" id="router" />
|
||||
<argument type="service" id="request_stack" />
|
||||
<argument type="service" id="router.request_context" on-invalid="ignore" />
|
||||
<argument type="service" id="logger" on-invalid="ignore" />
|
||||
<argument>%kernel.project_dir%</argument>
|
||||
<argument>%kernel.debug%</argument>
|
||||
</service>
|
||||
|
||||
<service id="Symfony\Bundle\FrameworkBundle\Controller\RedirectController" public="true">
|
||||
<argument type="service" id="router" />
|
||||
<argument>%request_listener.http_port%</argument>
|
||||
<argument>%request_listener.https_port%</argument>
|
||||
</service>
|
||||
|
||||
<service id="Symfony\Bundle\FrameworkBundle\Controller\TemplateController" public="true">
|
||||
<argument type="service" id="twig" on-invalid="ignore" />
|
||||
<argument type="service" id="templating" on-invalid="ignore" />
|
||||
</service>
|
||||
</services>
|
||||
</container>
|
||||
@@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
|
||||
<routes xmlns="http://symfony.com/schema/routing"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://symfony.com/schema/routing https://symfony.com/schema/routing/routing-1.0.xsd">
|
||||
|
||||
<route id="_preview_error" path="/{code}.{_format}">
|
||||
<default key="_controller">error_controller::preview</default>
|
||||
<default key="_format">html</default>
|
||||
<requirement key="code">\d+</requirement>
|
||||
</route>
|
||||
</routes>
|
||||
@@ -20,7 +20,6 @@
|
||||
<xsd:element name="router" type="router" minOccurs="0" maxOccurs="1" />
|
||||
<xsd:element name="session" type="session" minOccurs="0" maxOccurs="1" />
|
||||
<xsd:element name="request" type="request" minOccurs="0" maxOccurs="1" />
|
||||
<xsd:element name="templating" type="templating" minOccurs="0" maxOccurs="1" />
|
||||
<xsd:element name="translator" type="translator" minOccurs="0" maxOccurs="1" />
|
||||
<xsd:element name="validation" type="validation" minOccurs="0" maxOccurs="1" />
|
||||
<xsd:element name="annotations" type="annotations" minOccurs="0" maxOccurs="1" />
|
||||
@@ -30,15 +29,29 @@
|
||||
<xsd:element name="cache" type="cache" minOccurs="0" maxOccurs="1" />
|
||||
<xsd:element name="workflow" type="workflow" minOccurs="0" maxOccurs="unbounded" />
|
||||
<xsd:element name="php-errors" type="php-errors" minOccurs="0" maxOccurs="1" />
|
||||
<xsd:element name="exceptions" type="exceptions" minOccurs="0" maxOccurs="1" />
|
||||
<xsd:element name="lock" type="lock" minOccurs="0" maxOccurs="1" />
|
||||
<xsd:element name="messenger" type="messenger" minOccurs="0" maxOccurs="1" />
|
||||
<xsd:element name="http-client" type="http_client" minOccurs="0" maxOccurs="1" />
|
||||
<xsd:element name="mailer" type="mailer" minOccurs="0" maxOccurs="1" />
|
||||
<xsd:element name="http-cache" type="http_cache" minOccurs="0" maxOccurs="1" />
|
||||
<xsd:element name="rate-limiter" type="rate_limiter" minOccurs="0" maxOccurs="1" />
|
||||
<xsd:element name="uid" type="uid" minOccurs="0" maxOccurs="1" />
|
||||
<xsd:element name="notifier" type="notifier" minOccurs="0" maxOccurs="1" />
|
||||
<xsd:element name="enabled-locale" type="xsd:string" minOccurs="0" maxOccurs="unbounded" />
|
||||
</xsd:choice>
|
||||
|
||||
<xsd:attribute name="http-method-override" type="xsd:boolean" />
|
||||
<xsd:attribute name="trusted-proxies" type="xsd:string" />
|
||||
<xsd:attribute name="ide" type="xsd:string" />
|
||||
<xsd:attribute name="secret" type="xsd:string" />
|
||||
<xsd:attribute name="default-locale" type="xsd:string" />
|
||||
<xsd:attribute name="set_locale_from_accept_language" type="xsd:boolean" />
|
||||
<xsd:attribute name="set_content_language_from_locale" type="xsd:boolean" />
|
||||
<xsd:attribute name="test" type="xsd:boolean" />
|
||||
<xsd:attribute name="error-controller" type="xsd:string" />
|
||||
<xsd:attribute name="trusted-hosts" type="xsd:string" />
|
||||
<xsd:attribute name="trusted-proxies" type="xsd:string" />
|
||||
<xsd:attribute name="trusted-headers" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="form">
|
||||
@@ -46,6 +59,7 @@
|
||||
<xsd:element name="csrf-protection" type="form_csrf_protection" minOccurs="0" maxOccurs="1" />
|
||||
</xsd:all>
|
||||
<xsd:attribute name="enabled" type="xsd:boolean" />
|
||||
<xsd:attribute name="legacy-error-messages" type="xsd:boolean" />
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="form_csrf_protection">
|
||||
@@ -68,6 +82,7 @@
|
||||
<xsd:complexType name="fragments">
|
||||
<xsd:attribute name="enabled" type="xsd:boolean" />
|
||||
<xsd:attribute name="path" type="xsd:string" />
|
||||
<xsd:attribute name="hinclude-default-template" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="web_link">
|
||||
@@ -75,12 +90,10 @@
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="profiler">
|
||||
<xsd:all>
|
||||
<xsd:element name="matcher" type="profiler_matcher" minOccurs="0" maxOccurs="1" />
|
||||
</xsd:all>
|
||||
|
||||
<xsd:attribute name="collect" type="xsd:string" />
|
||||
<xsd:attribute name="collect-parameter" type="xsd:string" />
|
||||
<xsd:attribute name="only-exceptions" type="xsd:string" />
|
||||
<xsd:attribute name="only-main-requests" type="xsd:string" />
|
||||
<xsd:attribute name="only-master-requests" type="xsd:string" />
|
||||
<xsd:attribute name="enabled" type="xsd:string" />
|
||||
<xsd:attribute name="dsn" type="xsd:string" />
|
||||
@@ -89,29 +102,26 @@
|
||||
<xsd:attribute name="lifetime" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="profiler_matcher">
|
||||
<xsd:attribute name="ip" type="xsd:string" />
|
||||
<xsd:attribute name="path" type="xsd:string" />
|
||||
<xsd:attribute name="service" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="router">
|
||||
<xsd:attribute name="resource" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="http-port" type="xsd:string" />
|
||||
<xsd:attribute name="https-port" type="xsd:string" />
|
||||
<xsd:attribute name="strict-requirements" type="xsd:string" />
|
||||
<xsd:attribute name="utf8" type="xsd:boolean" />
|
||||
<xsd:attribute name="default-uri" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="session">
|
||||
<xsd:attribute name="enabled" type="xsd:boolean" />
|
||||
<xsd:attribute name="storage-factory-id" type="xsd:string" />
|
||||
<xsd:attribute name="storage-id" type="xsd:string" />
|
||||
<xsd:attribute name="handler-id" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
<xsd:attribute name="cookie-lifetime" type="xsd:string" />
|
||||
<xsd:attribute name="cookie-path" type="xsd:string" />
|
||||
<xsd:attribute name="cookie-domain" type="xsd:string" />
|
||||
<xsd:attribute name="cookie-secure" type="xsd:boolean" />
|
||||
<xsd:attribute name="cookie-secure" type="cookie_secure" />
|
||||
<xsd:attribute name="cookie-httponly" type="xsd:boolean" />
|
||||
<xsd:attribute name="cookie-samesite" type="cookie_samesite" />
|
||||
<xsd:attribute name="use-cookies" type="xsd:boolean" />
|
||||
@@ -119,9 +129,10 @@
|
||||
<xsd:attribute name="gc-maxlifetime" type="xsd:string" />
|
||||
<xsd:attribute name="gc-divisor" type="xsd:string" />
|
||||
<xsd:attribute name="gc-probability" type="xsd:string" />
|
||||
<xsd:attribute name="use-strict-mode" type="xsd:boolean" />
|
||||
<xsd:attribute name="save-path" type="xsd:string" />
|
||||
<xsd:attribute name="metadata-update-threshold" type="xsd:nonNegativeInteger" />
|
||||
<xsd:attribute name="sid-length" type="sid_length" />
|
||||
<xsd:attribute name="sid-bits-per-character" type="sid_bits_per_character" />
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="request">
|
||||
@@ -149,6 +160,7 @@
|
||||
<xsd:attribute name="version" type="xsd:string" />
|
||||
<xsd:attribute name="version-format" type="xsd:string" />
|
||||
<xsd:attribute name="json-manifest-path" type="xsd:string" />
|
||||
<xsd:attribute name="strict-mode" type="xsd:boolean" />
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="package">
|
||||
@@ -162,41 +174,49 @@
|
||||
<xsd:attribute name="version" type="xsd:string" />
|
||||
<xsd:attribute name="version-format" type="xsd:string" />
|
||||
<xsd:attribute name="json-manifest-path" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="templating">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="loader" type="xsd:string" minOccurs="0" maxOccurs="unbounded" />
|
||||
<xsd:element name="engine" type="xsd:string" minOccurs="0" maxOccurs="unbounded" />
|
||||
<xsd:element name="form" type="form-resources" minOccurs="0" maxOccurs="1" />
|
||||
</xsd:sequence>
|
||||
|
||||
<xsd:attribute name="enabled" type="xsd:boolean" />
|
||||
<xsd:attribute name="cache" type="xsd:string" />
|
||||
<xsd:attribute name="hinclude-default-template" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="form-resources">
|
||||
<xsd:choice minOccurs="1" maxOccurs="unbounded">
|
||||
<xsd:element name="resource" type="xsd:string" />
|
||||
</xsd:choice>
|
||||
<xsd:attribute name="strict-mode" type="xsd:boolean" />
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="translator">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="fallback" type="xsd:string" minOccurs="0" maxOccurs="unbounded" />
|
||||
<xsd:element name="path" type="xsd:string" minOccurs="0" maxOccurs="unbounded" />
|
||||
<xsd:element name="enabled-locale" type="xsd:string" minOccurs="0" maxOccurs="unbounded" />
|
||||
<xsd:element name="pseudo-localization" type="pseudo_localization" minOccurs="0" maxOccurs="1" />
|
||||
<xsd:element name="provider" type="translation_provider" minOccurs="0" maxOccurs="unbounded" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="enabled" type="xsd:boolean" />
|
||||
<xsd:attribute name="fallback" type="xsd:string" />
|
||||
<xsd:attribute name="logging" type="xsd:boolean" />
|
||||
<xsd:attribute name="formatter" type="xsd:string" />
|
||||
<xsd:attribute name="cache-dir" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="pseudo_localization">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="localizable-html-attribute" type="xsd:string" minOccurs="0" maxOccurs="unbounded" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="enabled" type="xsd:boolean" />
|
||||
<xsd:attribute name="accents" type="xsd:boolean" />
|
||||
<xsd:attribute name="expansion_factor" type="xsd:float" />
|
||||
<xsd:attribute name="brackets" type="xsd:boolean" />
|
||||
<xsd:attribute name="parse_html" type="xsd:boolean" />
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="translation_provider">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="domain" type="xsd:string" minOccurs="0" maxOccurs="unbounded" />
|
||||
<xsd:element name="locale" type="xsd:string" minOccurs="0" maxOccurs="unbounded" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
<xsd:attribute name="dsn" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="validation">
|
||||
<xsd:choice minOccurs="0" maxOccurs="unbounded">
|
||||
<xsd:element name="static-method" type="xsd:string" />
|
||||
<xsd:element name="mapping" type="file_mapping" />
|
||||
<xsd:element name="auto-mapping" type="auto_mapping" />
|
||||
</xsd:choice>
|
||||
|
||||
<xsd:attribute name="enabled" type="xsd:boolean" />
|
||||
@@ -205,6 +225,7 @@
|
||||
<xsd:attribute name="static-method" type="xsd:boolean" />
|
||||
<xsd:attribute name="translation-domain" type="xsd:string" />
|
||||
<xsd:attribute name="strict-email" type="xsd:boolean" />
|
||||
<xsd:attribute name="email-validation-mode" type="email-validation-mode" />
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="file_mapping">
|
||||
@@ -213,6 +234,21 @@
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="auto_mapping">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="service" type="xsd:string" minOccurs="0" maxOccurs="unbounded" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="namespace" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:simpleType name="email-validation-mode">
|
||||
<xsd:restriction base="xsd:string">
|
||||
<xsd:enumeration value="html5" />
|
||||
<xsd:enumeration value="loose" />
|
||||
<xsd:enumeration value="strict" />
|
||||
</xsd:restriction>
|
||||
</xsd:simpleType>
|
||||
|
||||
<xsd:complexType name="annotations">
|
||||
<xsd:attribute name="cache" type="xsd:string" />
|
||||
<xsd:attribute name="debug" type="xsd:string" />
|
||||
@@ -222,18 +258,22 @@
|
||||
|
||||
<xsd:complexType name="property_access">
|
||||
<xsd:attribute name="magic-call" type="xsd:boolean" />
|
||||
<xsd:attribute name="magic-get" type="xsd:boolean" />
|
||||
<xsd:attribute name="magic-set" type="xsd:boolean" />
|
||||
<xsd:attribute name="throw-exception-on-invalid-index" type="xsd:boolean" />
|
||||
<xsd:attribute name="throw-exception-on-invalid-property-path" type="xsd:boolean" />
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="serializer">
|
||||
<xsd:choice minOccurs="0" maxOccurs="unbounded">
|
||||
<xsd:element name="mapping" type="file_mapping" />
|
||||
<xsd:element name="default-context" type="metadata" minOccurs="0" maxOccurs="1" />
|
||||
</xsd:choice>
|
||||
<xsd:attribute name="enabled" type="xsd:boolean" />
|
||||
<xsd:attribute name="cache" type="xsd:string" />
|
||||
<xsd:attribute name="enable-annotations" type="xsd:boolean" />
|
||||
<xsd:attribute name="name-converter" type="xsd:string" />
|
||||
<xsd:attribute name="circular-reference-handler" type="xsd:string" />
|
||||
<xsd:attribute name="max-depth-handler" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="property_info">
|
||||
@@ -249,6 +289,7 @@
|
||||
<xsd:element name="default-psr6-provider" type="xsd:string" minOccurs="0" maxOccurs="1" />
|
||||
<xsd:element name="default-redis-provider" type="xsd:string" minOccurs="0" maxOccurs="1" />
|
||||
<xsd:element name="default-memcached-provider" type="xsd:string" minOccurs="0" maxOccurs="1" />
|
||||
<xsd:element name="default-pdo-provider" type="xsd:string" minOccurs="0" maxOccurs="1" />
|
||||
<xsd:element name="pool" type="cache_pool" minOccurs="0" maxOccurs="unbounded" />
|
||||
</xsd:sequence>
|
||||
|
||||
@@ -256,45 +297,87 @@
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="cache_pool">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="adapter" type="cache_pool_adapter" minOccurs="0" maxOccurs="unbounded" />
|
||||
</xsd:sequence>
|
||||
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
<xsd:attribute name="adapter" type="xsd:string" />
|
||||
<xsd:attribute name="tags" type="xsd:string" />
|
||||
<xsd:attribute name="public" type="xsd:boolean" />
|
||||
<xsd:attribute name="default-lifetime" type="xsd:integer" />
|
||||
<xsd:attribute name="default-lifetime" type="xsd:string" />
|
||||
<xsd:attribute name="provider" type="xsd:string" />
|
||||
<xsd:attribute name="early-expiration-message-bus" type="xsd:string" />
|
||||
<xsd:attribute name="clearer" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="cache_pool_adapter">
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
<xsd:attribute name="provider" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="workflow">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="audit-trail" type="audit_trail" minOccurs="0" maxOccurs="1" />
|
||||
<xsd:element name="initial-marking" type="xsd:string" minOccurs="0" maxOccurs="unbounded" />
|
||||
<xsd:element name="marking-store" type="marking_store" minOccurs="0" maxOccurs="1" />
|
||||
<xsd:element name="support" type="xsd:string" minOccurs="0" maxOccurs="unbounded" />
|
||||
<xsd:element name="place" type="xsd:string" minOccurs="0" maxOccurs="unbounded" />
|
||||
<xsd:element name="event-to-dispatch" type="event_to_dispatch" minOccurs="0" maxOccurs="unbounded" />
|
||||
<xsd:element name="place" type="place" minOccurs="0" maxOccurs="unbounded" />
|
||||
<xsd:element name="transition" type="transition" minOccurs="0" maxOccurs="unbounded" />
|
||||
<xsd:element name="metadata" type="metadata" minOccurs="0" maxOccurs="unbounded" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="workflow_type" />
|
||||
<xsd:attribute name="initial-place" type="xsd:string" />
|
||||
<xsd:attribute name="initial-marking" type="xsd:string" />
|
||||
<xsd:attribute name="support-strategy" type="xsd:string" />
|
||||
<xsd:attribute name="enabled" type="xsd:boolean" />
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="php-errors">
|
||||
<xsd:attribute name="log" type="xsd:boolean" />
|
||||
<xsd:sequence>
|
||||
<xsd:element name="log" type="logLevel" minOccurs="0" maxOccurs="unbounded" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="log" type="xsd:string" />
|
||||
<xsd:attribute name="throw" type="xsd:boolean" />
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="logLevel" mixed="true">
|
||||
<xsd:attribute name="type" type="xsd:string" use="required" />
|
||||
<xsd:attribute name="logLevel" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="audit_trail">
|
||||
<xsd:attribute name="enabled" type="xsd:boolean" />
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="exceptions">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="exception" type="exception" minOccurs="0" maxOccurs="unbounded" />
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="exception">
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
<xsd:attribute name="log-level" type="xsd:string" />
|
||||
<xsd:attribute name="status-code" type="xsd:int" />
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="marking_store">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="argument" type="xsd:string" minOccurs="0" maxOccurs="unbounded" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="type" type="marking_store_type" />
|
||||
<xsd:attribute name="service" type="xsd:string" />
|
||||
<xsd:attribute name="property" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:simpleType name="marking_store_type">
|
||||
<xsd:restriction base="xsd:string">
|
||||
<xsd:enumeration value="multiple_state" />
|
||||
<xsd:enumeration value="single_state" />
|
||||
<xsd:enumeration value="method" />
|
||||
</xsd:restriction>
|
||||
</xsd:simpleType>
|
||||
|
||||
@@ -302,11 +385,57 @@
|
||||
<xsd:sequence>
|
||||
<xsd:element name="from" type="xsd:string" minOccurs="1" maxOccurs="unbounded" />
|
||||
<xsd:element name="to" type="xsd:string" minOccurs="1" maxOccurs="unbounded" />
|
||||
<xsd:element name="metadata" type="metadata" minOccurs="0" maxOccurs="unbounded" />
|
||||
<xsd:element name="guard" type="xsd:string" minOccurs="0" maxOccurs="unbounded" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="place" mixed="true">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="metadata" type="metadata" minOccurs="0" maxOccurs="unbounded" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="metadata">
|
||||
<xsd:sequence>
|
||||
<xsd:any minOccurs="0" maxOccurs="unbounded" processContents="lax"/>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:simpleType name="event_to_dispatch">
|
||||
<xsd:restriction base="xsd:string">
|
||||
<xsd:enumeration value="" />
|
||||
<xsd:enumeration value="workflow.leave" />
|
||||
<xsd:enumeration value="workflow.transition" />
|
||||
<xsd:enumeration value="workflow.enter" />
|
||||
<xsd:enumeration value="workflow.entered" />
|
||||
<xsd:enumeration value="workflow.completed" />
|
||||
<xsd:enumeration value="workflow.announce" />
|
||||
</xsd:restriction>
|
||||
</xsd:simpleType>
|
||||
|
||||
<xsd:simpleType name="default_middleware">
|
||||
<xsd:restriction base="xsd:string">
|
||||
<xsd:enumeration value="true" />
|
||||
<xsd:enumeration value="false" />
|
||||
<xsd:enumeration value="1" />
|
||||
<xsd:enumeration value="0" />
|
||||
<xsd:enumeration value="allow_no_handlers" />
|
||||
</xsd:restriction>
|
||||
</xsd:simpleType>
|
||||
|
||||
<xsd:simpleType name="cookie_secure">
|
||||
<xsd:restriction base="xsd:string">
|
||||
<xsd:enumeration value="true" />
|
||||
<xsd:enumeration value="false" />
|
||||
<xsd:enumeration value="1" />
|
||||
<xsd:enumeration value="0" />
|
||||
<xsd:enumeration value="auto" />
|
||||
</xsd:restriction>
|
||||
</xsd:simpleType>
|
||||
|
||||
<xsd:simpleType name="cookie_samesite">
|
||||
<xsd:restriction base="xsd:string">
|
||||
<xsd:enumeration value="" />
|
||||
@@ -316,6 +445,21 @@
|
||||
</xsd:restriction>
|
||||
</xsd:simpleType>
|
||||
|
||||
<xsd:simpleType name="sid_bits_per_character">
|
||||
<xsd:restriction base="xsd:positiveInteger">
|
||||
<xsd:enumeration value="4" />
|
||||
<xsd:enumeration value="5" />
|
||||
<xsd:enumeration value="6" />
|
||||
</xsd:restriction>
|
||||
</xsd:simpleType>
|
||||
|
||||
<xsd:simpleType name="sid_length">
|
||||
<xsd:restriction base="xsd:positiveInteger">
|
||||
<xsd:minInclusive value="22" />
|
||||
<xsd:maxInclusive value="256" />
|
||||
</xsd:restriction>
|
||||
</xsd:simpleType>
|
||||
|
||||
<xsd:simpleType name="workflow_type">
|
||||
<xsd:restriction base="xsd:string">
|
||||
<xsd:enumeration value="state_machine" />
|
||||
@@ -337,4 +481,326 @@
|
||||
</xsd:extension>
|
||||
</xsd:simpleContent>
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="messenger">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="serializer" type="messenger_serializer" minOccurs="0" />
|
||||
<xsd:element name="routing" type="messenger_routing" minOccurs="0" maxOccurs="unbounded" />
|
||||
<xsd:element name="transport" type="messenger_transport" minOccurs="0" maxOccurs="unbounded" />
|
||||
<xsd:element name="bus" type="messenger_bus" minOccurs="0" maxOccurs="unbounded" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="default-bus" type="xsd:string" />
|
||||
<xsd:attribute name="enabled" type="xsd:boolean" />
|
||||
<xsd:attribute name="failure-transport" type="xsd:string" />
|
||||
<xsd:attribute name="reset-on-message" type="xsd:boolean" />
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="messenger_serializer">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="symfony-serializer" type="messenger_symfony_serializer" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="default-serializer" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="messenger_symfony_serializer">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="context" type="metadata" minOccurs="0" maxOccurs="unbounded" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="format" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="messenger_routing">
|
||||
<xsd:choice minOccurs="0" maxOccurs="unbounded">
|
||||
<xsd:element name="sender" type="messenger_routing_sender" />
|
||||
</xsd:choice>
|
||||
<xsd:attribute name="message-class" type="xsd:string" use="required"/>
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="messenger_routing_sender">
|
||||
<xsd:attribute name="service" type="xsd:string" use="required"/>
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="messenger_transport">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="options" type="metadata" minOccurs="0" maxOccurs="unbounded" />
|
||||
<xsd:element name="retry-strategy" type="messenger_retry_strategy" minOccurs="0" maxOccurs="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
<xsd:attribute name="serializer" type="xsd:string" />
|
||||
<xsd:attribute name="dsn" type="xsd:string" />
|
||||
<xsd:attribute name="failure-transport" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="messenger_retry_strategy">
|
||||
<xsd:attribute name="service" type="xsd:string" />
|
||||
<xsd:attribute name="max-retries" type="xsd:integer" />
|
||||
<xsd:attribute name="delay" type="xsd:integer" />
|
||||
<xsd:attribute name="multiplier" type="xsd:float" />
|
||||
<xsd:attribute name="max-delay" type="xsd:float" />
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="messenger_bus">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="middleware" type="messenger_middleware" minOccurs="0" maxOccurs="unbounded" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required"/>
|
||||
<xsd:attribute name="default-middleware" type="default_middleware"/>
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="messenger_middleware">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="argument" type="xsd:anyType" minOccurs="0" maxOccurs="unbounded" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="id" type="xsd:string" use="required"/>
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="http_client">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="default-options" type="http_client_default_options" minOccurs="0" />
|
||||
<xsd:element name="scoped-client" type="http_client_scope_options" minOccurs="0" maxOccurs="unbounded" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="enabled" type="xsd:boolean" />
|
||||
<xsd:attribute name="max-host-connections" type="xsd:integer" />
|
||||
<xsd:attribute name="mock-response-factory" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="http_client_default_options" mixed="true">
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="resolve" type="http_resolve" minOccurs="0" maxOccurs="unbounded" />
|
||||
<xsd:element name="header" type="http_header" minOccurs="0" maxOccurs="unbounded" />
|
||||
<xsd:element name="peer-fingerprint" type="fingerprint" minOccurs="0" maxOccurs="unbounded" />
|
||||
<xsd:element name="retry-failed" type="http_client_retry_failed" minOccurs="0" maxOccurs="1" />
|
||||
</xsd:choice>
|
||||
<xsd:attribute name="max-redirects" type="xsd:integer" />
|
||||
<xsd:attribute name="http-version" type="xsd:string" />
|
||||
<xsd:attribute name="proxy" type="xsd:string" />
|
||||
<xsd:attribute name="no-proxy" type="xsd:string" />
|
||||
<xsd:attribute name="timeout" type="xsd:float" />
|
||||
<xsd:attribute name="max-duration" type="xsd:float" />
|
||||
<xsd:attribute name="bindto" type="xsd:string" />
|
||||
<xsd:attribute name="verify-peer" type="xsd:boolean" />
|
||||
<xsd:attribute name="verify-host" type="xsd:boolean" />
|
||||
<xsd:attribute name="cafile" type="xsd:string" />
|
||||
<xsd:attribute name="capath" type="xsd:string" />
|
||||
<xsd:attribute name="local-cert" type="xsd:string" />
|
||||
<xsd:attribute name="local-pk" type="xsd:string" />
|
||||
<xsd:attribute name="passphrase" type="xsd:string" />
|
||||
<xsd:attribute name="ciphers" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="http_client_scope_options" mixed="true">
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="query" type="http_query" minOccurs="0" maxOccurs="unbounded" />
|
||||
<xsd:element name="resolve" type="http_resolve" minOccurs="0" maxOccurs="unbounded" />
|
||||
<xsd:element name="header" type="http_header" minOccurs="0" maxOccurs="unbounded" />
|
||||
<xsd:element name="peer-fingerprint" type="fingerprint" minOccurs="0" maxOccurs="unbounded" />
|
||||
<xsd:element name="retry-failed" type="http_client_retry_failed" minOccurs="0" maxOccurs="1" />
|
||||
</xsd:choice>
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
<xsd:attribute name="scope" type="xsd:string" />
|
||||
<xsd:attribute name="base-uri" type="xsd:string" />
|
||||
<xsd:attribute name="auth-basic" type="xsd:string" />
|
||||
<xsd:attribute name="auth-bearer" type="xsd:string" />
|
||||
<xsd:attribute name="max-redirects" type="xsd:integer" />
|
||||
<xsd:attribute name="http-version" type="xsd:string" />
|
||||
<xsd:attribute name="proxy" type="xsd:string" />
|
||||
<xsd:attribute name="no-proxy" type="xsd:string" />
|
||||
<xsd:attribute name="timeout" type="xsd:float" />
|
||||
<xsd:attribute name="bindto" type="xsd:string" />
|
||||
<xsd:attribute name="verify-peer" type="xsd:boolean" />
|
||||
<xsd:attribute name="verify-host" type="xsd:boolean" />
|
||||
<xsd:attribute name="cafile" type="xsd:string" />
|
||||
<xsd:attribute name="capath" type="xsd:string" />
|
||||
<xsd:attribute name="local-cert" type="xsd:string" />
|
||||
<xsd:attribute name="local-pk" type="xsd:string" />
|
||||
<xsd:attribute name="passphrase" type="xsd:string" />
|
||||
<xsd:attribute name="ciphers" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="fingerprint">
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="pin-sha256" type="xsd:string" minOccurs="0" />
|
||||
<xsd:element name="sha1" type="xsd:string" minOccurs="0" />
|
||||
<xsd:element name="md5" type="xsd:string" minOccurs="0" />
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="http_client_retry_failed">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="http-code" type="http_client_retry_code" minOccurs="0" maxOccurs="unbounded" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="enabled" type="xsd:boolean" />
|
||||
<xsd:attribute name="retry-strategy" type="xsd:string" />
|
||||
<xsd:attribute name="max-retries" type="xsd:integer" />
|
||||
<xsd:attribute name="delay" type="xsd:integer" />
|
||||
<xsd:attribute name="multiplier" type="xsd:float" />
|
||||
<xsd:attribute name="max-delay" type="xsd:float" />
|
||||
<xsd:attribute name="jitter" type="xsd:float" />
|
||||
<xsd:attribute name="response_header" type="xsd:boolean" />
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="http_client_retry_code">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="method" type="xsd:string" minOccurs="0" maxOccurs="unbounded" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="code" type="xsd:integer" />
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="http_query" mixed="true">
|
||||
<xsd:attribute name="key" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="http_resolve" mixed="true">
|
||||
<xsd:attribute name="host" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="http_header" mixed="true">
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="mailer">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="transport" type="mailer_transport" minOccurs="0" maxOccurs="unbounded" />
|
||||
<xsd:element name="envelope" type="mailer_envelope" minOccurs="0" maxOccurs="1" />
|
||||
<xsd:element name="header" type="header" minOccurs="0" maxOccurs="unbounded" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="enabled" type="xsd:boolean" />
|
||||
<xsd:attribute name="dsn" type="xsd:string" />
|
||||
<xsd:attribute name="message-bus" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="header" mixed="true">
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="mailer_transport" mixed="true">
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="mailer_envelope">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="sender" type="xsd:string" minOccurs="0" maxOccurs="1" />
|
||||
<xsd:element name="recipients" type="xsd:string" minOccurs="0" maxOccurs="unbounded" />
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="http_cache">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="private-header" type="xsd:string" minOccurs="0" maxOccurs="unbounded" />
|
||||
</xsd:sequence>
|
||||
|
||||
<xsd:attribute name="enabled" type="xsd:boolean" />
|
||||
<xsd:attribute name="debug" type="xsd:boolean" />
|
||||
<xsd:attribute name="trace-level" type="http_cache_trace_levels" />
|
||||
<xsd:attribute name="trace-header" type="xsd:string" />
|
||||
<xsd:attribute name="default-ttl" type="xsd:integer" />
|
||||
<xsd:attribute name="allow-reload" type="xsd:boolean" />
|
||||
<xsd:attribute name="allow-revalidate" type="xsd:boolean" />
|
||||
<xsd:attribute name="stale-while-revalidate" type="xsd:integer" />
|
||||
<xsd:attribute name="stale-if-error" type="xsd:integer" />
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:simpleType name="http_cache_trace_levels">
|
||||
<xsd:restriction base="xsd:string">
|
||||
<xsd:enumeration value="none" />
|
||||
<xsd:enumeration value="short" />
|
||||
<xsd:enumeration value="full" />
|
||||
</xsd:restriction>
|
||||
</xsd:simpleType>
|
||||
|
||||
<xsd:complexType name="rate_limiter">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="limiter" type="rate_limiter_limiter" minOccurs="0" maxOccurs="unbounded" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="enabled" type="xsd:boolean" />
|
||||
<xsd:attribute name="max-host-connections" type="xsd:integer" />
|
||||
<xsd:attribute name="mock-response-factory" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="rate_limiter_limiter">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="rate" type="rate_limiter_rate" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
<xsd:attribute name="lock-factory" type="xsd:string" />
|
||||
<xsd:attribute name="storage-service" type="xsd:string" />
|
||||
<xsd:attribute name="cache-pool" type="xsd:string" />
|
||||
<xsd:attribute name="strategy" type="xsd:string" />
|
||||
<xsd:attribute name="limit" type="xsd:int" />
|
||||
<xsd:attribute name="interval" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="rate_limiter_rate">
|
||||
<xsd:attribute name="interval" type="xsd:string" />
|
||||
<xsd:attribute name="amount" type="xsd:int" />
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="uid">
|
||||
<xsd:attribute name="enabled" type="xsd:boolean" />
|
||||
<xsd:attribute name="default_uuid_version" type="default_uuid_version" />
|
||||
<xsd:attribute name="name_based_uuid_version" type="name_based_uuid_version" />
|
||||
<xsd:attribute name="time_based_uuid_version" type="time_based_uuid_version" />
|
||||
<xsd:attribute name="name_based_uuid_namespace" type="xsd:string" />
|
||||
<xsd:attribute name="time_based_uuid_node" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:simpleType name="default_uuid_version">
|
||||
<xsd:restriction base="xsd:int">
|
||||
<xsd:enumeration value="6" />
|
||||
<xsd:enumeration value="4" />
|
||||
<xsd:enumeration value="1" />
|
||||
</xsd:restriction>
|
||||
</xsd:simpleType>
|
||||
|
||||
<xsd:simpleType name="name_based_uuid_version">
|
||||
<xsd:restriction base="xsd:int">
|
||||
<xsd:enumeration value="5" />
|
||||
<xsd:enumeration value="3" />
|
||||
</xsd:restriction>
|
||||
</xsd:simpleType>
|
||||
|
||||
<xsd:simpleType name="time_based_uuid_version">
|
||||
<xsd:restriction base="xsd:int">
|
||||
<xsd:enumeration value="6" />
|
||||
<xsd:enumeration value="1" />
|
||||
</xsd:restriction>
|
||||
</xsd:simpleType>
|
||||
|
||||
<xsd:complexType name="notifier">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="chatter-transport" type="chatter-transport" minOccurs="0" maxOccurs="unbounded" />
|
||||
<xsd:element name="texter-transport" type="texter-transport" minOccurs="0" maxOccurs="unbounded" />
|
||||
<xsd:element name="channel-policy" type="channel-policy" minOccurs="0" maxOccurs="unbounded" />
|
||||
<xsd:element name="admin-recipients" type="admin-recipients" minOccurs="0" maxOccurs="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="enabled" type="xsd:boolean" />
|
||||
<xsd:attribute name="notification-on-failed-messages" type="xsd:boolean" />
|
||||
<xsd:attribute name="message-bus" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="chatter-transport" mixed="true">
|
||||
<xsd:attribute name="name" type="xsd:string" use="required"/>
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="texter-transport" mixed="true">
|
||||
<xsd:attribute name="name" type="xsd:string" use="required"/>
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="channel-policy" mixed="true">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="channel" type="xsd:string" minOccurs="0" maxOccurs="unbounded" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="admin-recipients" mixed="true">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="admin-recipient" type="admin-recipient" minOccurs="1" maxOccurs="unbounded" />
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="admin-recipient" mixed="true">
|
||||
<xsd:attribute name="email" type="xsd:string" use="required" />
|
||||
<xsd:attribute name="phone" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:schema>
|
||||
|
||||
33
lib/symfony/framework-bundle/Resources/config/secrets.php
Normal file
33
lib/symfony/framework-bundle/Resources/config/secrets.php
Normal file
@@ -0,0 +1,33 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
|
||||
|
||||
use Symfony\Bundle\FrameworkBundle\Secrets\DotenvVault;
|
||||
use Symfony\Bundle\FrameworkBundle\Secrets\SodiumVault;
|
||||
|
||||
return static function (ContainerConfigurator $container) {
|
||||
$container->services()
|
||||
->set('secrets.vault', SodiumVault::class)
|
||||
->args([
|
||||
abstract_arg('Secret dir, set in FrameworkExtension'),
|
||||
service('secrets.decryption_key')->ignoreOnInvalid(),
|
||||
])
|
||||
->tag('container.env_var_loader')
|
||||
|
||||
->set('secrets.decryption_key')
|
||||
->parent('container.env')
|
||||
->args([abstract_arg('Decryption env var, set in FrameworkExtension')])
|
||||
|
||||
->set('secrets.local_vault', DotenvVault::class)
|
||||
->args([abstract_arg('.env file path, set in FrameworkExtension')])
|
||||
;
|
||||
};
|
||||
@@ -0,0 +1,52 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
|
||||
|
||||
use Symfony\Bridge\Twig\Extension\CsrfExtension;
|
||||
use Symfony\Bridge\Twig\Extension\CsrfRuntime;
|
||||
use Symfony\Component\Security\Csrf\CsrfTokenManager;
|
||||
use Symfony\Component\Security\Csrf\CsrfTokenManagerInterface;
|
||||
use Symfony\Component\Security\Csrf\TokenGenerator\TokenGeneratorInterface;
|
||||
use Symfony\Component\Security\Csrf\TokenGenerator\UriSafeTokenGenerator;
|
||||
use Symfony\Component\Security\Csrf\TokenStorage\SessionTokenStorage;
|
||||
use Symfony\Component\Security\Csrf\TokenStorage\TokenStorageInterface;
|
||||
|
||||
return static function (ContainerConfigurator $container) {
|
||||
$container->services()
|
||||
->set('security.csrf.token_generator', UriSafeTokenGenerator::class)
|
||||
|
||||
->alias(TokenGeneratorInterface::class, 'security.csrf.token_generator')
|
||||
|
||||
->set('security.csrf.token_storage', SessionTokenStorage::class)
|
||||
->args([service('request_stack')])
|
||||
|
||||
->alias(TokenStorageInterface::class, 'security.csrf.token_storage')
|
||||
|
||||
->set('security.csrf.token_manager', CsrfTokenManager::class)
|
||||
->public()
|
||||
->args([
|
||||
service('security.csrf.token_generator'),
|
||||
service('security.csrf.token_storage'),
|
||||
service('request_stack')->ignoreOnInvalid(),
|
||||
])
|
||||
->tag('container.private', ['package' => 'symfony/framework-bundle', 'version' => '5.2'])
|
||||
|
||||
->alias(CsrfTokenManagerInterface::class, 'security.csrf.token_manager')
|
||||
|
||||
->set('twig.runtime.security_csrf', CsrfRuntime::class)
|
||||
->args([service('security.csrf.token_manager')])
|
||||
->tag('twig.runtime')
|
||||
|
||||
->set('twig.extension.security_csrf', CsrfExtension::class)
|
||||
->tag('twig.extension')
|
||||
;
|
||||
};
|
||||
@@ -1,25 +0,0 @@
|
||||
<?xml version="1.0" ?>
|
||||
|
||||
<container xmlns="http://symfony.com/schema/dic/services"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://symfony.com/schema/dic/services https://symfony.com/schema/dic/services/services-1.0.xsd">
|
||||
|
||||
<services>
|
||||
<defaults public="false" />
|
||||
|
||||
<service id="security.csrf.token_generator" class="Symfony\Component\Security\Csrf\TokenGenerator\UriSafeTokenGenerator" />
|
||||
<service id="Symfony\Component\Security\Csrf\TokenGenerator\TokenGeneratorInterface" alias="security.csrf.token_generator" />
|
||||
|
||||
<service id="security.csrf.token_storage" class="Symfony\Component\Security\Csrf\TokenStorage\SessionTokenStorage">
|
||||
<argument type="service" id="session" />
|
||||
</service>
|
||||
<service id="Symfony\Component\Security\Csrf\TokenStorage\TokenStorageInterface" alias="security.csrf.token_storage" />
|
||||
|
||||
<service id="security.csrf.token_manager" class="Symfony\Component\Security\Csrf\CsrfTokenManager" public="true">
|
||||
<argument type="service" id="security.csrf.token_generator" />
|
||||
<argument type="service" id="security.csrf.token_storage" />
|
||||
<argument type="service" id="request_stack" on-invalid="ignore" />
|
||||
</service>
|
||||
<service id="Symfony\Component\Security\Csrf\CsrfTokenManagerInterface" alias="security.csrf.token_manager" />
|
||||
</services>
|
||||
</container>
|
||||
222
lib/symfony/framework-bundle/Resources/config/serializer.php
Normal file
222
lib/symfony/framework-bundle/Resources/config/serializer.php
Normal file
@@ -0,0 +1,222 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
|
||||
|
||||
use Psr\Cache\CacheItemPoolInterface;
|
||||
use Symfony\Bundle\FrameworkBundle\CacheWarmer\SerializerCacheWarmer;
|
||||
use Symfony\Component\Cache\Adapter\PhpArrayAdapter;
|
||||
use Symfony\Component\ErrorHandler\ErrorRenderer\HtmlErrorRenderer;
|
||||
use Symfony\Component\ErrorHandler\ErrorRenderer\SerializerErrorRenderer;
|
||||
use Symfony\Component\PropertyInfo\Extractor\SerializerExtractor;
|
||||
use Symfony\Component\Serializer\Encoder\CsvEncoder;
|
||||
use Symfony\Component\Serializer\Encoder\DecoderInterface;
|
||||
use Symfony\Component\Serializer\Encoder\EncoderInterface;
|
||||
use Symfony\Component\Serializer\Encoder\JsonEncoder;
|
||||
use Symfony\Component\Serializer\Encoder\XmlEncoder;
|
||||
use Symfony\Component\Serializer\Encoder\YamlEncoder;
|
||||
use Symfony\Component\Serializer\Mapping\ClassDiscriminatorFromClassMetadata;
|
||||
use Symfony\Component\Serializer\Mapping\ClassDiscriminatorResolverInterface;
|
||||
use Symfony\Component\Serializer\Mapping\Factory\CacheClassMetadataFactory;
|
||||
use Symfony\Component\Serializer\Mapping\Factory\ClassMetadataFactory;
|
||||
use Symfony\Component\Serializer\Mapping\Factory\ClassMetadataFactoryInterface;
|
||||
use Symfony\Component\Serializer\Mapping\Loader\LoaderChain;
|
||||
use Symfony\Component\Serializer\NameConverter\CamelCaseToSnakeCaseNameConverter;
|
||||
use Symfony\Component\Serializer\NameConverter\MetadataAwareNameConverter;
|
||||
use Symfony\Component\Serializer\Normalizer\ArrayDenormalizer;
|
||||
use Symfony\Component\Serializer\Normalizer\BackedEnumNormalizer;
|
||||
use Symfony\Component\Serializer\Normalizer\ConstraintViolationListNormalizer;
|
||||
use Symfony\Component\Serializer\Normalizer\DataUriNormalizer;
|
||||
use Symfony\Component\Serializer\Normalizer\DateIntervalNormalizer;
|
||||
use Symfony\Component\Serializer\Normalizer\DateTimeNormalizer;
|
||||
use Symfony\Component\Serializer\Normalizer\DateTimeZoneNormalizer;
|
||||
use Symfony\Component\Serializer\Normalizer\DenormalizerInterface;
|
||||
use Symfony\Component\Serializer\Normalizer\FormErrorNormalizer;
|
||||
use Symfony\Component\Serializer\Normalizer\JsonSerializableNormalizer;
|
||||
use Symfony\Component\Serializer\Normalizer\MimeMessageNormalizer;
|
||||
use Symfony\Component\Serializer\Normalizer\NormalizerInterface;
|
||||
use Symfony\Component\Serializer\Normalizer\ObjectNormalizer;
|
||||
use Symfony\Component\Serializer\Normalizer\ProblemNormalizer;
|
||||
use Symfony\Component\Serializer\Normalizer\PropertyNormalizer;
|
||||
use Symfony\Component\Serializer\Normalizer\UidNormalizer;
|
||||
use Symfony\Component\Serializer\Normalizer\UnwrappingDenormalizer;
|
||||
use Symfony\Component\Serializer\Serializer;
|
||||
use Symfony\Component\Serializer\SerializerInterface;
|
||||
|
||||
return static function (ContainerConfigurator $container) {
|
||||
$container->parameters()
|
||||
->set('serializer.mapping.cache.file', '%kernel.cache_dir%/serialization.php')
|
||||
;
|
||||
|
||||
$container->services()
|
||||
->set('serializer', Serializer::class)
|
||||
->public()
|
||||
->args([[], []])
|
||||
->tag('container.private', ['package' => 'symfony/framework-bundle', 'version' => '5.2'])
|
||||
|
||||
->alias(SerializerInterface::class, 'serializer')
|
||||
->alias(NormalizerInterface::class, 'serializer')
|
||||
->alias(DenormalizerInterface::class, 'serializer')
|
||||
->alias(EncoderInterface::class, 'serializer')
|
||||
->alias(DecoderInterface::class, 'serializer')
|
||||
|
||||
->alias('serializer.property_accessor', 'property_accessor')
|
||||
|
||||
// Discriminator Map
|
||||
->set('serializer.mapping.class_discriminator_resolver', ClassDiscriminatorFromClassMetadata::class)
|
||||
->args([service('serializer.mapping.class_metadata_factory')])
|
||||
|
||||
->alias(ClassDiscriminatorResolverInterface::class, 'serializer.mapping.class_discriminator_resolver')
|
||||
|
||||
// Normalizer
|
||||
->set('serializer.normalizer.constraint_violation_list', ConstraintViolationListNormalizer::class)
|
||||
->args([[], service('serializer.name_converter.metadata_aware')])
|
||||
->tag('serializer.normalizer', ['priority' => -915])
|
||||
|
||||
->set('serializer.normalizer.mime_message', MimeMessageNormalizer::class)
|
||||
->args([service('serializer.normalizer.property')])
|
||||
->tag('serializer.normalizer', ['priority' => -915])
|
||||
|
||||
->set('serializer.normalizer.datetimezone', DateTimeZoneNormalizer::class)
|
||||
->tag('serializer.normalizer', ['priority' => -915])
|
||||
|
||||
->set('serializer.normalizer.dateinterval', DateIntervalNormalizer::class)
|
||||
->tag('serializer.normalizer', ['priority' => -915])
|
||||
|
||||
->set('serializer.normalizer.data_uri', DataUriNormalizer::class)
|
||||
->args([service('mime_types')->nullOnInvalid()])
|
||||
->tag('serializer.normalizer', ['priority' => -920])
|
||||
|
||||
->set('serializer.normalizer.datetime', DateTimeNormalizer::class)
|
||||
->tag('serializer.normalizer', ['priority' => -910])
|
||||
|
||||
->set('serializer.normalizer.json_serializable', JsonSerializableNormalizer::class)
|
||||
->args([null, null])
|
||||
->tag('serializer.normalizer', ['priority' => -900])
|
||||
|
||||
->set('serializer.normalizer.problem', ProblemNormalizer::class)
|
||||
->args([param('kernel.debug')])
|
||||
->tag('serializer.normalizer', ['priority' => -890])
|
||||
|
||||
->set('serializer.denormalizer.unwrapping', UnwrappingDenormalizer::class)
|
||||
->args([service('serializer.property_accessor')])
|
||||
->tag('serializer.normalizer', ['priority' => 1000])
|
||||
|
||||
->set('serializer.normalizer.uid', UidNormalizer::class)
|
||||
->tag('serializer.normalizer', ['priority' => -890])
|
||||
|
||||
->set('serializer.normalizer.form_error', FormErrorNormalizer::class)
|
||||
->tag('serializer.normalizer', ['priority' => -915])
|
||||
|
||||
->set('serializer.normalizer.object', ObjectNormalizer::class)
|
||||
->args([
|
||||
service('serializer.mapping.class_metadata_factory'),
|
||||
service('serializer.name_converter.metadata_aware'),
|
||||
service('serializer.property_accessor'),
|
||||
service('property_info')->ignoreOnInvalid(),
|
||||
service('serializer.mapping.class_discriminator_resolver')->ignoreOnInvalid(),
|
||||
null,
|
||||
[],
|
||||
])
|
||||
->tag('serializer.normalizer', ['priority' => -1000])
|
||||
|
||||
->alias(ObjectNormalizer::class, 'serializer.normalizer.object')
|
||||
|
||||
->set('serializer.normalizer.property', PropertyNormalizer::class)
|
||||
->args([
|
||||
service('serializer.mapping.class_metadata_factory'),
|
||||
service('serializer.name_converter.metadata_aware'),
|
||||
service('property_info')->ignoreOnInvalid(),
|
||||
service('serializer.mapping.class_discriminator_resolver')->ignoreOnInvalid(),
|
||||
null,
|
||||
[],
|
||||
])
|
||||
|
||||
->alias(PropertyNormalizer::class, 'serializer.normalizer.property')
|
||||
|
||||
->set('serializer.denormalizer.array', ArrayDenormalizer::class)
|
||||
->tag('serializer.normalizer', ['priority' => -990])
|
||||
|
||||
// Loader
|
||||
->set('serializer.mapping.chain_loader', LoaderChain::class)
|
||||
->args([[]])
|
||||
|
||||
// Class Metadata Factory
|
||||
->set('serializer.mapping.class_metadata_factory', ClassMetadataFactory::class)
|
||||
->args([service('serializer.mapping.chain_loader')])
|
||||
|
||||
->alias(ClassMetadataFactoryInterface::class, 'serializer.mapping.class_metadata_factory')
|
||||
|
||||
// Cache
|
||||
->set('serializer.mapping.cache_warmer', SerializerCacheWarmer::class)
|
||||
->args([abstract_arg('The serializer metadata loaders'), param('serializer.mapping.cache.file')])
|
||||
->tag('kernel.cache_warmer')
|
||||
|
||||
->set('serializer.mapping.cache.symfony', CacheItemPoolInterface::class)
|
||||
->factory([PhpArrayAdapter::class, 'create'])
|
||||
->args([param('serializer.mapping.cache.file'), service('cache.serializer')])
|
||||
|
||||
->set('serializer.mapping.cache_class_metadata_factory', CacheClassMetadataFactory::class)
|
||||
->decorate('serializer.mapping.class_metadata_factory')
|
||||
->args([
|
||||
service('serializer.mapping.cache_class_metadata_factory.inner'),
|
||||
service('serializer.mapping.cache.symfony'),
|
||||
])
|
||||
|
||||
// Encoders
|
||||
->set('serializer.encoder.xml', XmlEncoder::class)
|
||||
->tag('serializer.encoder')
|
||||
|
||||
->set('serializer.encoder.json', JsonEncoder::class)
|
||||
->tag('serializer.encoder')
|
||||
|
||||
->set('serializer.encoder.yaml', YamlEncoder::class)
|
||||
->args([null, null])
|
||||
->tag('serializer.encoder')
|
||||
|
||||
->set('serializer.encoder.csv', CsvEncoder::class)
|
||||
->tag('serializer.encoder')
|
||||
|
||||
// Name converter
|
||||
->set('serializer.name_converter.camel_case_to_snake_case', CamelCaseToSnakeCaseNameConverter::class)
|
||||
|
||||
->set('serializer.name_converter.metadata_aware', MetadataAwareNameConverter::class)
|
||||
->args([service('serializer.mapping.class_metadata_factory')])
|
||||
|
||||
// PropertyInfo extractor
|
||||
->set('property_info.serializer_extractor', SerializerExtractor::class)
|
||||
->args([service('serializer.mapping.class_metadata_factory')])
|
||||
->tag('property_info.list_extractor', ['priority' => -999])
|
||||
|
||||
// ErrorRenderer integration
|
||||
->alias('error_renderer', 'error_renderer.serializer')
|
||||
->alias('error_renderer.serializer', 'error_handler.error_renderer.serializer')
|
||||
|
||||
->set('error_handler.error_renderer.serializer', SerializerErrorRenderer::class)
|
||||
->args([
|
||||
service('serializer'),
|
||||
inline_service()
|
||||
->factory([SerializerErrorRenderer::class, 'getPreferredFormat'])
|
||||
->args([service('request_stack')]),
|
||||
service('error_renderer.html'),
|
||||
inline_service()
|
||||
->factory([HtmlErrorRenderer::class, 'isDebug'])
|
||||
->args([service('request_stack'), param('kernel.debug')]),
|
||||
])
|
||||
;
|
||||
|
||||
if (interface_exists(\BackedEnum::class)) {
|
||||
$container->services()
|
||||
->set('serializer.normalizer.backed_enum', BackedEnumNormalizer::class)
|
||||
->tag('serializer.normalizer', ['priority' => -915])
|
||||
;
|
||||
}
|
||||
};
|
||||
@@ -1,129 +0,0 @@
|
||||
<?xml version="1.0" ?>
|
||||
|
||||
<container xmlns="http://symfony.com/schema/dic/services"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://symfony.com/schema/dic/services https://symfony.com/schema/dic/services/services-1.0.xsd">
|
||||
|
||||
<parameters>
|
||||
<parameter key="serializer.mapping.cache.file">%kernel.cache_dir%/serialization.php</parameter>
|
||||
<parameter key="serializer.mapping.cache.prefix" />
|
||||
</parameters>
|
||||
|
||||
<services>
|
||||
<defaults public="false" />
|
||||
|
||||
<service id="serializer" class="Symfony\Component\Serializer\Serializer" public="true">
|
||||
<argument type="collection" />
|
||||
<argument type="collection" />
|
||||
</service>
|
||||
<service id="Symfony\Component\Serializer\SerializerInterface" alias="serializer" />
|
||||
<service id="Symfony\Component\Serializer\Normalizer\NormalizerInterface" alias="serializer" />
|
||||
<service id="Symfony\Component\Serializer\Normalizer\DenormalizerInterface" alias="serializer" />
|
||||
<service id="Symfony\Component\Serializer\Encoder\EncoderInterface" alias="serializer" />
|
||||
<service id="Symfony\Component\Serializer\Encoder\DecoderInterface" alias="serializer" />
|
||||
|
||||
<service id="serializer.property_accessor" alias="property_accessor" />
|
||||
|
||||
<!-- Normalizer -->
|
||||
<service id="serializer.normalizer.dateinterval" class="Symfony\Component\Serializer\Normalizer\DateIntervalNormalizer">
|
||||
<!-- Run before serializer.normalizer.object -->
|
||||
<tag name="serializer.normalizer" priority="-915" />
|
||||
</service>
|
||||
|
||||
<service id="serializer.normalizer.data_uri" class="Symfony\Component\Serializer\Normalizer\DataUriNormalizer">
|
||||
<!-- Run before serializer.normalizer.object -->
|
||||
<tag name="serializer.normalizer" priority="-920" />
|
||||
</service>
|
||||
|
||||
<service id="serializer.normalizer.datetime" class="Symfony\Component\Serializer\Normalizer\DateTimeNormalizer">
|
||||
<!-- Run before serializer.normalizer.object -->
|
||||
<tag name="serializer.normalizer" priority="-910" />
|
||||
</service>
|
||||
|
||||
<service id="serializer.normalizer.json_serializable" class="Symfony\Component\Serializer\Normalizer\JsonSerializableNormalizer">
|
||||
<!-- Run before serializer.normalizer.object -->
|
||||
<tag name="serializer.normalizer" priority="-900" />
|
||||
</service>
|
||||
|
||||
<service id="serializer.normalizer.object" class="Symfony\Component\Serializer\Normalizer\ObjectNormalizer">
|
||||
<argument type="service" id="serializer.mapping.class_metadata_factory" />
|
||||
<argument>null</argument> <!-- name converter -->
|
||||
<argument type="service" id="serializer.property_accessor" />
|
||||
<argument type="service" id="property_info" on-invalid="ignore" />
|
||||
|
||||
<!-- Run after all custom normalizers -->
|
||||
<tag name="serializer.normalizer" priority="-1000" />
|
||||
</service>
|
||||
<service id="Symfony\Component\Serializer\Normalizer\ObjectNormalizer" alias="serializer.normalizer.object" />
|
||||
|
||||
<service id="serializer.denormalizer.array" class="Symfony\Component\Serializer\Normalizer\ArrayDenormalizer">
|
||||
<!-- Run before the object normalizer -->
|
||||
<tag name="serializer.normalizer" priority="-990" />
|
||||
</service>
|
||||
|
||||
<!-- Loader -->
|
||||
<service id="serializer.mapping.chain_loader" class="Symfony\Component\Serializer\Mapping\Loader\LoaderChain">
|
||||
<argument type="collection" />
|
||||
</service>
|
||||
|
||||
<!-- Class Metadata Factory -->
|
||||
<service id="serializer.mapping.class_metadata_factory" class="Symfony\Component\Serializer\Mapping\Factory\ClassMetadataFactory">
|
||||
<argument type="service" id="serializer.mapping.chain_loader" />
|
||||
<argument>null</argument>
|
||||
</service>
|
||||
|
||||
<service id="Symfony\Component\Serializer\Mapping\Factory\ClassMetadataFactoryInterface" alias="serializer.mapping.class_metadata_factory" />
|
||||
|
||||
<!-- Cache -->
|
||||
<service id="serializer.mapping.cache_warmer" class="Symfony\Bundle\FrameworkBundle\CacheWarmer\SerializerCacheWarmer">
|
||||
<argument type="collection" /><!-- Loaders injected by the extension -->
|
||||
<argument>%serializer.mapping.cache.file%</argument>
|
||||
<argument type="service" id="cache.serializer" />
|
||||
<tag name="kernel.cache_warmer" />
|
||||
</service>
|
||||
|
||||
<service id="serializer.mapping.cache.symfony" class="Psr\Cache\CacheItemPoolInterface">
|
||||
<factory class="Symfony\Component\Cache\Adapter\PhpArrayAdapter" method="create" />
|
||||
<argument>%serializer.mapping.cache.file%</argument>
|
||||
<argument type="service" id="cache.serializer" />
|
||||
</service>
|
||||
|
||||
<service id="serializer.mapping.cache.doctrine.apc" class="Doctrine\Common\Cache\ApcCache">
|
||||
<call method="setNamespace">
|
||||
<argument>%serializer.mapping.cache.prefix%</argument>
|
||||
</call>
|
||||
<deprecated>The "%service_id%" service is deprecated since Symfony 3.2 and will be removed in 4.0. APCu should now be automatically used when available.</deprecated>
|
||||
</service>
|
||||
|
||||
<service id="serializer.mapping.cache.apc" parent="serializer.mapping.cache.doctrine.apc" public="false">
|
||||
<deprecated>The "%service_id%" service is deprecated since Symfony 3.1 and will be removed in 4.0. APCu should now be automatically used when available.</deprecated>
|
||||
</service>
|
||||
|
||||
<!-- Encoders -->
|
||||
<service id="serializer.encoder.xml" class="Symfony\Component\Serializer\Encoder\XmlEncoder">
|
||||
<tag name="serializer.encoder" />
|
||||
</service>
|
||||
|
||||
<service id="serializer.encoder.json" class="Symfony\Component\Serializer\Encoder\JsonEncoder">
|
||||
<tag name="serializer.encoder" />
|
||||
</service>
|
||||
|
||||
<service id="serializer.encoder.yaml" class="Symfony\Component\Serializer\Encoder\YamlEncoder">
|
||||
<tag name="serializer.encoder" />
|
||||
</service>
|
||||
|
||||
<service id="serializer.encoder.csv" class="Symfony\Component\Serializer\Encoder\CsvEncoder">
|
||||
<tag name="serializer.encoder" />
|
||||
</service>
|
||||
|
||||
<!-- Name converter -->
|
||||
<service id="serializer.name_converter.camel_case_to_snake_case" class="Symfony\Component\Serializer\NameConverter\CamelCaseToSnakeCaseNameConverter" />
|
||||
|
||||
<!-- PropertyInfo extractor -->
|
||||
<service id="property_info.serializer_extractor" class="Symfony\Component\PropertyInfo\Extractor\SerializerExtractor">
|
||||
<argument type="service" id="serializer.mapping.class_metadata_factory" />
|
||||
|
||||
<tag name="property_info.list_extractor" priority="-999" />
|
||||
</service>
|
||||
</services>
|
||||
</container>
|
||||
218
lib/symfony/framework-bundle/Resources/config/services.php
Normal file
218
lib/symfony/framework-bundle/Resources/config/services.php
Normal file
@@ -0,0 +1,218 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
|
||||
|
||||
use Symfony\Bundle\FrameworkBundle\CacheWarmer\ConfigBuilderCacheWarmer;
|
||||
use Symfony\Bundle\FrameworkBundle\HttpCache\HttpCache;
|
||||
use Symfony\Component\Config\Resource\SelfCheckingResourceChecker;
|
||||
use Symfony\Component\Config\ResourceCheckerConfigCacheFactory;
|
||||
use Symfony\Component\Console\ConsoleEvents;
|
||||
use Symfony\Component\DependencyInjection\Config\ContainerParametersResourceChecker;
|
||||
use Symfony\Component\DependencyInjection\EnvVarProcessor;
|
||||
use Symfony\Component\DependencyInjection\ParameterBag\ContainerBag;
|
||||
use Symfony\Component\DependencyInjection\ParameterBag\ContainerBagInterface;
|
||||
use Symfony\Component\DependencyInjection\ParameterBag\ParameterBagInterface;
|
||||
use Symfony\Component\DependencyInjection\ReverseContainer;
|
||||
use Symfony\Component\EventDispatcher\EventDispatcher;
|
||||
use Symfony\Component\EventDispatcher\EventDispatcherInterface as EventDispatcherInterfaceComponentAlias;
|
||||
use Symfony\Component\Filesystem\Filesystem;
|
||||
use Symfony\Component\Form\FormEvents;
|
||||
use Symfony\Component\HttpFoundation\RequestStack;
|
||||
use Symfony\Component\HttpFoundation\UrlHelper;
|
||||
use Symfony\Component\HttpKernel\CacheClearer\ChainCacheClearer;
|
||||
use Symfony\Component\HttpKernel\CacheWarmer\CacheWarmerAggregate;
|
||||
use Symfony\Component\HttpKernel\Config\FileLocator;
|
||||
use Symfony\Component\HttpKernel\DependencyInjection\ServicesResetter;
|
||||
use Symfony\Component\HttpKernel\EventListener\LocaleAwareListener;
|
||||
use Symfony\Component\HttpKernel\HttpCache\Store;
|
||||
use Symfony\Component\HttpKernel\HttpCache\StoreInterface;
|
||||
use Symfony\Component\HttpKernel\HttpKernel;
|
||||
use Symfony\Component\HttpKernel\HttpKernelInterface;
|
||||
use Symfony\Component\HttpKernel\KernelEvents;
|
||||
use Symfony\Component\HttpKernel\KernelInterface;
|
||||
use Symfony\Component\HttpKernel\UriSigner;
|
||||
use Symfony\Component\Runtime\Runner\Symfony\HttpKernelRunner;
|
||||
use Symfony\Component\Runtime\Runner\Symfony\ResponseRunner;
|
||||
use Symfony\Component\Runtime\SymfonyRuntime;
|
||||
use Symfony\Component\String\LazyString;
|
||||
use Symfony\Component\String\Slugger\AsciiSlugger;
|
||||
use Symfony\Component\String\Slugger\SluggerInterface;
|
||||
use Symfony\Component\Workflow\WorkflowEvents;
|
||||
use Symfony\Contracts\EventDispatcher\EventDispatcherInterface;
|
||||
|
||||
return static function (ContainerConfigurator $container) {
|
||||
// this parameter is used at compile time in RegisterListenersPass
|
||||
$container->parameters()->set('event_dispatcher.event_aliases', array_merge(
|
||||
class_exists(ConsoleEvents::class) ? ConsoleEvents::ALIASES : [],
|
||||
class_exists(FormEvents::class) ? FormEvents::ALIASES : [],
|
||||
KernelEvents::ALIASES,
|
||||
class_exists(WorkflowEvents::class) ? WorkflowEvents::ALIASES : []
|
||||
));
|
||||
|
||||
$container->services()
|
||||
|
||||
->set('parameter_bag', ContainerBag::class)
|
||||
->args([
|
||||
service('service_container'),
|
||||
])
|
||||
->alias(ContainerBagInterface::class, 'parameter_bag')
|
||||
->alias(ParameterBagInterface::class, 'parameter_bag')
|
||||
|
||||
->set('event_dispatcher', EventDispatcher::class)
|
||||
->public()
|
||||
->tag('container.hot_path')
|
||||
->tag('event_dispatcher.dispatcher', ['name' => 'event_dispatcher'])
|
||||
->alias(EventDispatcherInterfaceComponentAlias::class, 'event_dispatcher')
|
||||
->alias(EventDispatcherInterface::class, 'event_dispatcher')
|
||||
|
||||
->set('http_kernel', HttpKernel::class)
|
||||
->public()
|
||||
->args([
|
||||
service('event_dispatcher'),
|
||||
service('controller_resolver'),
|
||||
service('request_stack'),
|
||||
service('argument_resolver'),
|
||||
])
|
||||
->tag('container.hot_path')
|
||||
->tag('container.preload', ['class' => HttpKernelRunner::class])
|
||||
->tag('container.preload', ['class' => ResponseRunner::class])
|
||||
->tag('container.preload', ['class' => SymfonyRuntime::class])
|
||||
->alias(HttpKernelInterface::class, 'http_kernel')
|
||||
|
||||
->set('request_stack', RequestStack::class)
|
||||
->public()
|
||||
->alias(RequestStack::class, 'request_stack')
|
||||
|
||||
->set('http_cache', HttpCache::class)
|
||||
->args([
|
||||
service('kernel'),
|
||||
service('http_cache.store'),
|
||||
service('esi')->nullOnInvalid(),
|
||||
abstract_arg('options'),
|
||||
])
|
||||
->tag('container.hot_path')
|
||||
|
||||
->set('http_cache.store', Store::class)
|
||||
->args([
|
||||
param('kernel.cache_dir').'/http_cache',
|
||||
])
|
||||
->alias(StoreInterface::class, 'http_cache.store')
|
||||
|
||||
->set('url_helper', UrlHelper::class)
|
||||
->args([
|
||||
service('request_stack'),
|
||||
service('router.request_context')->ignoreOnInvalid(),
|
||||
])
|
||||
->alias(UrlHelper::class, 'url_helper')
|
||||
|
||||
->set('cache_warmer', CacheWarmerAggregate::class)
|
||||
->public()
|
||||
->args([
|
||||
tagged_iterator('kernel.cache_warmer'),
|
||||
param('kernel.debug'),
|
||||
sprintf('%s/%sDeprecations.log', param('kernel.build_dir'), param('kernel.container_class')),
|
||||
])
|
||||
->tag('container.no_preload')
|
||||
|
||||
->set('cache_clearer', ChainCacheClearer::class)
|
||||
->public()
|
||||
->args([
|
||||
tagged_iterator('kernel.cache_clearer'),
|
||||
])
|
||||
->tag('container.private', ['package' => 'symfony/framework-bundle', 'version' => '5.2'])
|
||||
|
||||
->set('kernel')
|
||||
->synthetic()
|
||||
->public()
|
||||
->alias(KernelInterface::class, 'kernel')
|
||||
|
||||
->set('filesystem', Filesystem::class)
|
||||
->public()
|
||||
->tag('container.private', ['package' => 'symfony/framework-bundle', 'version' => '5.2'])
|
||||
->alias(Filesystem::class, 'filesystem')
|
||||
|
||||
->set('file_locator', FileLocator::class)
|
||||
->args([
|
||||
service('kernel'),
|
||||
])
|
||||
->alias(FileLocator::class, 'file_locator')
|
||||
|
||||
->set('uri_signer', UriSigner::class)
|
||||
->args([
|
||||
param('kernel.secret'),
|
||||
])
|
||||
->alias(UriSigner::class, 'uri_signer')
|
||||
|
||||
->set('config_cache_factory', ResourceCheckerConfigCacheFactory::class)
|
||||
->args([
|
||||
tagged_iterator('config_cache.resource_checker'),
|
||||
])
|
||||
|
||||
->set('dependency_injection.config.container_parameters_resource_checker', ContainerParametersResourceChecker::class)
|
||||
->args([
|
||||
service('service_container'),
|
||||
])
|
||||
->tag('config_cache.resource_checker', ['priority' => -980])
|
||||
|
||||
->set('config.resource.self_checking_resource_checker', SelfCheckingResourceChecker::class)
|
||||
->tag('config_cache.resource_checker', ['priority' => -990])
|
||||
|
||||
->set('services_resetter', ServicesResetter::class)
|
||||
->public()
|
||||
|
||||
->set('reverse_container', ReverseContainer::class)
|
||||
->args([
|
||||
service('service_container'),
|
||||
service_locator([]),
|
||||
])
|
||||
->alias(ReverseContainer::class, 'reverse_container')
|
||||
|
||||
->set('locale_aware_listener', LocaleAwareListener::class)
|
||||
->args([
|
||||
[], // locale aware services
|
||||
service('request_stack'),
|
||||
])
|
||||
->tag('kernel.event_subscriber')
|
||||
|
||||
->set('container.env_var_processor', EnvVarProcessor::class)
|
||||
->args([
|
||||
service('service_container'),
|
||||
tagged_iterator('container.env_var_loader'),
|
||||
])
|
||||
->tag('container.env_var_processor')
|
||||
|
||||
->set('slugger', AsciiSlugger::class)
|
||||
->args([
|
||||
param('kernel.default_locale'),
|
||||
])
|
||||
->tag('kernel.locale_aware')
|
||||
->alias(SluggerInterface::class, 'slugger')
|
||||
|
||||
->set('container.getenv', \Closure::class)
|
||||
->factory([\Closure::class, 'fromCallable'])
|
||||
->args([
|
||||
[service('service_container'), 'getEnv'],
|
||||
])
|
||||
->tag('routing.expression_language_function', ['function' => 'env'])
|
||||
|
||||
// inherit from this service to lazily access env vars
|
||||
->set('container.env', LazyString::class)
|
||||
->abstract()
|
||||
->factory([LazyString::class, 'fromCallable'])
|
||||
->args([
|
||||
service('container.getenv'),
|
||||
])
|
||||
->set('config_builder.warmer', ConfigBuilderCacheWarmer::class)
|
||||
->args([service(KernelInterface::class), service('logger')->nullOnInvalid()])
|
||||
->tag('kernel.cache_warmer')
|
||||
;
|
||||
};
|
||||
@@ -1,82 +0,0 @@
|
||||
<?xml version="1.0" ?>
|
||||
|
||||
<container xmlns="http://symfony.com/schema/dic/services"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://symfony.com/schema/dic/services https://symfony.com/schema/dic/services/services-1.0.xsd">
|
||||
|
||||
<services>
|
||||
<defaults public="false" />
|
||||
|
||||
<service id="event_dispatcher" class="Symfony\Component\EventDispatcher\ContainerAwareEventDispatcher" public="true">
|
||||
<argument type="service" id="service_container" />
|
||||
<tag name="container.hot_path" />
|
||||
</service>
|
||||
<service id="Symfony\Component\EventDispatcher\EventDispatcherInterface" alias="event_dispatcher" />
|
||||
|
||||
<service id="http_kernel" class="Symfony\Component\HttpKernel\HttpKernel" public="true">
|
||||
<argument type="service" id="event_dispatcher" />
|
||||
<argument type="service" id="controller_resolver" />
|
||||
<argument type="service" id="request_stack" />
|
||||
<argument type="service" id="argument_resolver" />
|
||||
<tag name="container.hot_path" />
|
||||
</service>
|
||||
<service id="Symfony\Component\HttpKernel\HttpKernelInterface" alias="http_kernel" />
|
||||
|
||||
<service id="request_stack" class="Symfony\Component\HttpFoundation\RequestStack" public="true" />
|
||||
<service id="Symfony\Component\HttpFoundation\RequestStack" alias="request_stack" />
|
||||
|
||||
<service id="cache_warmer" class="Symfony\Component\HttpKernel\CacheWarmer\CacheWarmerAggregate" public="true">
|
||||
<argument type="tagged" tag="kernel.cache_warmer" />
|
||||
</service>
|
||||
|
||||
<service id="kernel.class_cache.cache_warmer" class="Symfony\Bundle\FrameworkBundle\CacheWarmer\ClassCacheCacheWarmer">
|
||||
<argument type="collection">
|
||||
<argument>Symfony\Component\HttpFoundation\ParameterBag</argument>
|
||||
<argument>Symfony\Component\HttpFoundation\HeaderBag</argument>
|
||||
<argument>Symfony\Component\HttpFoundation\FileBag</argument>
|
||||
<argument>Symfony\Component\HttpFoundation\ServerBag</argument>
|
||||
<argument>Symfony\Component\HttpFoundation\Request</argument>
|
||||
<argument>Symfony\Component\HttpKernel\Kernel</argument>
|
||||
</argument>
|
||||
<deprecated>The "%service_id%" option is deprecated since version 3.3, to be removed in 4.0.</deprecated>
|
||||
</service>
|
||||
|
||||
<service id="cache_clearer" class="Symfony\Component\HttpKernel\CacheClearer\ChainCacheClearer" public="true">
|
||||
<argument type="tagged" tag="kernel.cache_clearer" />
|
||||
</service>
|
||||
|
||||
<service id="kernel" synthetic="true" public="true" />
|
||||
<service id="Symfony\Component\HttpKernel\KernelInterface" alias="kernel" />
|
||||
|
||||
<service id="filesystem" class="Symfony\Component\Filesystem\Filesystem" public="true" />
|
||||
<service id="Symfony\Component\Filesystem\Filesystem" alias="filesystem" />
|
||||
|
||||
<service id="file_locator" class="Symfony\Component\HttpKernel\Config\FileLocator">
|
||||
<argument type="service" id="kernel" />
|
||||
<argument>%kernel.root_dir%/Resources</argument>
|
||||
<argument type="collection">
|
||||
<argument>%kernel.root_dir%</argument>
|
||||
</argument>
|
||||
</service>
|
||||
<service id="Symfony\Component\HttpKernel\Config\FileLocator" alias="file_locator" />
|
||||
|
||||
<service id="uri_signer" class="Symfony\Component\HttpKernel\UriSigner">
|
||||
<argument>%kernel.secret%</argument>
|
||||
</service>
|
||||
|
||||
<service id="config_cache_factory" class="Symfony\Component\Config\ResourceCheckerConfigCacheFactory">
|
||||
<argument type="tagged" tag="config_cache.resource_checker" />
|
||||
</service>
|
||||
|
||||
<service id="dependency_injection.config.container_parameters_resource_checker" class="Symfony\Component\DependencyInjection\Config\ContainerParametersResourceChecker">
|
||||
<argument type="service" id="service_container" />
|
||||
<tag name="config_cache.resource_checker" priority="-980" />
|
||||
</service>
|
||||
|
||||
<service id="config.resource.self_checking_resource_checker" class="Symfony\Component\Config\Resource\SelfCheckingResourceChecker">
|
||||
<tag name="config_cache.resource_checker" priority="-990" />
|
||||
</service>
|
||||
|
||||
<service id="services_resetter" class="Symfony\Component\HttpKernel\DependencyInjection\ServicesResetter" public="true" />
|
||||
</services>
|
||||
</container>
|
||||
174
lib/symfony/framework-bundle/Resources/config/session.php
Normal file
174
lib/symfony/framework-bundle/Resources/config/session.php
Normal file
@@ -0,0 +1,174 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
|
||||
|
||||
use Symfony\Bundle\FrameworkBundle\Session\DeprecatedSessionFactory;
|
||||
use Symfony\Bundle\FrameworkBundle\Session\ServiceSessionFactory;
|
||||
use Symfony\Component\HttpFoundation\Session\Attribute\AttributeBag;
|
||||
use Symfony\Component\HttpFoundation\Session\Flash\FlashBag;
|
||||
use Symfony\Component\HttpFoundation\Session\Flash\FlashBagInterface;
|
||||
use Symfony\Component\HttpFoundation\Session\Session;
|
||||
use Symfony\Component\HttpFoundation\Session\SessionFactory;
|
||||
use Symfony\Component\HttpFoundation\Session\SessionInterface;
|
||||
use Symfony\Component\HttpFoundation\Session\Storage\Handler\AbstractSessionHandler;
|
||||
use Symfony\Component\HttpFoundation\Session\Storage\Handler\IdentityMarshaller;
|
||||
use Symfony\Component\HttpFoundation\Session\Storage\Handler\MarshallingSessionHandler;
|
||||
use Symfony\Component\HttpFoundation\Session\Storage\Handler\NativeFileSessionHandler;
|
||||
use Symfony\Component\HttpFoundation\Session\Storage\Handler\SessionHandlerFactory;
|
||||
use Symfony\Component\HttpFoundation\Session\Storage\Handler\StrictSessionHandler;
|
||||
use Symfony\Component\HttpFoundation\Session\Storage\MetadataBag;
|
||||
use Symfony\Component\HttpFoundation\Session\Storage\MockFileSessionStorage;
|
||||
use Symfony\Component\HttpFoundation\Session\Storage\MockFileSessionStorageFactory;
|
||||
use Symfony\Component\HttpFoundation\Session\Storage\NativeSessionStorage;
|
||||
use Symfony\Component\HttpFoundation\Session\Storage\NativeSessionStorageFactory;
|
||||
use Symfony\Component\HttpFoundation\Session\Storage\PhpBridgeSessionStorage;
|
||||
use Symfony\Component\HttpFoundation\Session\Storage\PhpBridgeSessionStorageFactory;
|
||||
use Symfony\Component\HttpFoundation\Session\Storage\SessionStorageInterface;
|
||||
use Symfony\Component\HttpKernel\EventListener\SessionListener;
|
||||
|
||||
return static function (ContainerConfigurator $container) {
|
||||
$container->parameters()->set('session.metadata.storage_key', '_sf2_meta');
|
||||
|
||||
$container->services()
|
||||
->set('.session.do-not-use', Session::class) // to be removed in 6.0
|
||||
->factory([service('session.factory'), 'createSession'])
|
||||
->set('session.factory', SessionFactory::class)
|
||||
->args([
|
||||
service('request_stack'),
|
||||
service('session.storage.factory'),
|
||||
[service('session_listener'), 'onSessionUsage'],
|
||||
])
|
||||
|
||||
->set('session.storage.factory.native', NativeSessionStorageFactory::class)
|
||||
->args([
|
||||
param('session.storage.options'),
|
||||
service('session.handler'),
|
||||
inline_service(MetadataBag::class)
|
||||
->args([
|
||||
param('session.metadata.storage_key'),
|
||||
param('session.metadata.update_threshold'),
|
||||
]),
|
||||
false,
|
||||
])
|
||||
->set('session.storage.factory.php_bridge', PhpBridgeSessionStorageFactory::class)
|
||||
->args([
|
||||
service('session.handler'),
|
||||
inline_service(MetadataBag::class)
|
||||
->args([
|
||||
param('session.metadata.storage_key'),
|
||||
param('session.metadata.update_threshold'),
|
||||
]),
|
||||
false,
|
||||
])
|
||||
->set('session.storage.factory.mock_file', MockFileSessionStorageFactory::class)
|
||||
->args([
|
||||
param('kernel.cache_dir').'/sessions',
|
||||
'MOCKSESSID',
|
||||
inline_service(MetadataBag::class)
|
||||
->args([
|
||||
param('session.metadata.storage_key'),
|
||||
param('session.metadata.update_threshold'),
|
||||
]),
|
||||
])
|
||||
->set('session.storage.factory.service', ServiceSessionFactory::class)
|
||||
->args([
|
||||
service('session.storage'),
|
||||
])
|
||||
->deprecate('symfony/framework-bundle', '5.3', 'The "%service_id%" service is deprecated, use "session.storage.factory.native", "session.storage.factory.php_bridge" or "session.storage.factory.mock_file" instead.')
|
||||
|
||||
->set('.session.deprecated', SessionInterface::class) // to be removed in 6.0
|
||||
->factory([inline_service(DeprecatedSessionFactory::class)->args([service('request_stack')]), 'getSession'])
|
||||
->alias(SessionInterface::class, '.session.do-not-use')
|
||||
->deprecate('symfony/framework-bundle', '5.3', 'The "%alias_id%" and "SessionInterface" aliases are deprecated, use "$requestStack->getSession()" instead.')
|
||||
->alias(SessionStorageInterface::class, 'session.storage')
|
||||
->deprecate('symfony/framework-bundle', '5.3', 'The "%alias_id%" alias is deprecated, use "session.storage.factory" instead.')
|
||||
->alias(\SessionHandlerInterface::class, 'session.handler')
|
||||
|
||||
->set('session.storage.metadata_bag', MetadataBag::class)
|
||||
->args([
|
||||
param('session.metadata.storage_key'),
|
||||
param('session.metadata.update_threshold'),
|
||||
])
|
||||
->deprecate('symfony/framework-bundle', '5.3', 'The "%service_id%" service is deprecated, create your own "session.storage.factory" instead.')
|
||||
|
||||
->set('session.storage.native', NativeSessionStorage::class)
|
||||
->args([
|
||||
param('session.storage.options'),
|
||||
service('session.handler'),
|
||||
service('session.storage.metadata_bag'),
|
||||
])
|
||||
->deprecate('symfony/framework-bundle', '5.3', 'The "%service_id%" service is deprecated, use "session.storage.factory.native" instead.')
|
||||
|
||||
->set('session.storage.php_bridge', PhpBridgeSessionStorage::class)
|
||||
->args([
|
||||
service('session.handler'),
|
||||
service('session.storage.metadata_bag'),
|
||||
])
|
||||
->deprecate('symfony/framework-bundle', '5.3', 'The "%service_id%" service is deprecated, use "session.storage.factory.php_bridge" instead.')
|
||||
|
||||
->set('session.flash_bag', FlashBag::class)
|
||||
->factory([service('.session.do-not-use'), 'getFlashBag'])
|
||||
->deprecate('symfony/framework-bundle', '5.1', 'The "%service_id%" service is deprecated, use "$session->getFlashBag()" instead.')
|
||||
->alias(FlashBagInterface::class, 'session.flash_bag')
|
||||
|
||||
->set('session.attribute_bag', AttributeBag::class)
|
||||
->factory([service('.session.do-not-use'), 'getBag'])
|
||||
->args(['attributes'])
|
||||
->deprecate('symfony/framework-bundle', '5.1', 'The "%service_id%" service is deprecated, use "$session->getAttributeBag()" instead.')
|
||||
|
||||
->set('session.storage.mock_file', MockFileSessionStorage::class)
|
||||
->args([
|
||||
param('kernel.cache_dir').'/sessions',
|
||||
'MOCKSESSID',
|
||||
service('session.storage.metadata_bag'),
|
||||
])
|
||||
->deprecate('symfony/framework-bundle', '5.3', 'The "%service_id%" service is deprecated, use "session.storage.factory.mock_file" instead.')
|
||||
|
||||
->set('session.handler.native_file', StrictSessionHandler::class)
|
||||
->args([
|
||||
inline_service(NativeFileSessionHandler::class)
|
||||
->args([param('session.save_path')]),
|
||||
])
|
||||
|
||||
->set('session.abstract_handler', AbstractSessionHandler::class)
|
||||
->factory([SessionHandlerFactory::class, 'createHandler'])
|
||||
->args([abstract_arg('A string or a connection object')])
|
||||
|
||||
->set('session_listener', SessionListener::class)
|
||||
->args([
|
||||
service_locator([
|
||||
'session_factory' => service('session.factory')->ignoreOnInvalid(),
|
||||
'session' => service('.session.do-not-use')->ignoreOnInvalid(),
|
||||
'initialized_session' => service('.session.do-not-use')->ignoreOnUninitialized(),
|
||||
'logger' => service('logger')->ignoreOnInvalid(),
|
||||
'session_collector' => service('data_collector.request.session_collector')->ignoreOnInvalid(),
|
||||
]),
|
||||
param('kernel.debug'),
|
||||
param('session.storage.options'),
|
||||
])
|
||||
->tag('kernel.event_subscriber')
|
||||
->tag('kernel.reset', ['method' => 'reset'])
|
||||
|
||||
// for BC
|
||||
->alias('session.storage.filesystem', 'session.storage.mock_file')
|
||||
->deprecate('symfony/framework-bundle', '5.3', 'The "%alias_id%" alias is deprecated, use "session.storage.factory.mock_file" instead.')
|
||||
|
||||
->set('session.marshaller', IdentityMarshaller::class)
|
||||
|
||||
->set('session.marshalling_handler', MarshallingSessionHandler::class)
|
||||
->decorate('session.handler')
|
||||
->args([
|
||||
service('session.marshalling_handler.inner'),
|
||||
service('session.marshaller'),
|
||||
])
|
||||
;
|
||||
};
|
||||
@@ -1,85 +0,0 @@
|
||||
<?xml version="1.0" ?>
|
||||
|
||||
<container xmlns="http://symfony.com/schema/dic/services"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://symfony.com/schema/dic/services https://symfony.com/schema/dic/services/services-1.0.xsd">
|
||||
|
||||
<parameters>
|
||||
<parameter key="session.metadata.storage_key">_sf2_meta</parameter>
|
||||
</parameters>
|
||||
|
||||
<services>
|
||||
<defaults public="false" />
|
||||
|
||||
<service id="session" class="Symfony\Component\HttpFoundation\Session\Session" public="true">
|
||||
<argument type="service" id="session.storage" />
|
||||
</service>
|
||||
|
||||
<service id="Symfony\Component\HttpFoundation\Session\SessionInterface" alias="session" />
|
||||
<service id="Symfony\Component\HttpFoundation\Session\Storage\SessionStorageInterface" alias="session.storage" />
|
||||
<service id="SessionHandlerInterface" alias="session.handler" />
|
||||
|
||||
<service id="session.storage.metadata_bag" class="Symfony\Component\HttpFoundation\Session\Storage\MetadataBag">
|
||||
<argument>%session.metadata.storage_key%</argument>
|
||||
<argument>%session.metadata.update_threshold%</argument>
|
||||
</service>
|
||||
|
||||
<service id="session.storage.native" class="Symfony\Component\HttpFoundation\Session\Storage\NativeSessionStorage">
|
||||
<argument>%session.storage.options%</argument>
|
||||
<argument type="service" id="session.handler" />
|
||||
<argument type="service" id="session.storage.metadata_bag" />
|
||||
</service>
|
||||
|
||||
<service id="session.storage.php_bridge" class="Symfony\Component\HttpFoundation\Session\Storage\PhpBridgeSessionStorage">
|
||||
<argument type="service" id="session.handler" />
|
||||
<argument type="service" id="session.storage.metadata_bag" />
|
||||
</service>
|
||||
|
||||
<service id="session.flash_bag" class="Symfony\Component\HttpFoundation\Session\Flash\FlashBag">
|
||||
<factory service="session" method="getFlashBag"/>
|
||||
</service>
|
||||
<service id="Symfony\Component\HttpFoundation\Session\Flash\FlashBagInterface" alias="session.flash_bag" />
|
||||
|
||||
<service id="session.attribute_bag" class="Symfony\Component\HttpFoundation\Session\Attribute\AttributeBag">
|
||||
<factory service="session" method="getBag"/>
|
||||
<argument>attributes</argument>
|
||||
</service>
|
||||
|
||||
<service id="session.storage.mock_file" class="Symfony\Component\HttpFoundation\Session\Storage\MockFileSessionStorage">
|
||||
<argument>%kernel.cache_dir%/sessions</argument>
|
||||
<argument>MOCKSESSID</argument>
|
||||
<argument type="service" id="session.storage.metadata_bag" />
|
||||
</service>
|
||||
|
||||
<service id="session.handler.native_file" class="Symfony\Component\HttpFoundation\Session\Storage\Handler\StrictSessionHandler">
|
||||
<argument type="service">
|
||||
<service class="Symfony\Component\HttpFoundation\Session\Storage\Handler\NativeFileSessionHandler">
|
||||
<argument>%session.save_path%</argument>
|
||||
</service>
|
||||
</argument>
|
||||
</service>
|
||||
|
||||
<service id="session.handler.write_check" class="Symfony\Component\HttpFoundation\Session\Storage\Handler\WriteCheckSessionHandler">
|
||||
<deprecated>The "%service_id%" service is deprecated since Symfony 3.4 and will be removed in 4.0. Use the `session.lazy_write` ini setting instead.</deprecated>
|
||||
</service>
|
||||
|
||||
<service id="session_listener" class="Symfony\Component\HttpKernel\EventListener\SessionListener">
|
||||
<tag name="kernel.event_subscriber" />
|
||||
<argument type="service">
|
||||
<service class="Symfony\Component\DependencyInjection\ServiceLocator">
|
||||
<tag name="container.service_locator" />
|
||||
<argument type="collection">
|
||||
<argument key="session" type="service" id="session" on-invalid="ignore" />
|
||||
</argument>
|
||||
</service>
|
||||
</argument>
|
||||
</service>
|
||||
|
||||
<service id="session.save_listener" class="Symfony\Component\HttpKernel\EventListener\SaveSessionListener">
|
||||
<tag name="kernel.event_subscriber" />
|
||||
</service>
|
||||
|
||||
<!-- for BC -->
|
||||
<service id="session.storage.filesystem" alias="session.storage.mock_file" />
|
||||
</services>
|
||||
</container>
|
||||
25
lib/symfony/framework-bundle/Resources/config/ssi.php
Normal file
25
lib/symfony/framework-bundle/Resources/config/ssi.php
Normal file
@@ -0,0 +1,25 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
|
||||
|
||||
use Symfony\Component\HttpKernel\EventListener\SurrogateListener;
|
||||
use Symfony\Component\HttpKernel\HttpCache\Ssi;
|
||||
|
||||
return static function (ContainerConfigurator $container) {
|
||||
$container->services()
|
||||
->set('ssi', Ssi::class)
|
||||
|
||||
->set('ssi_listener', SurrogateListener::class)
|
||||
->args([service('ssi')->ignoreOnInvalid()])
|
||||
->tag('kernel.event_subscriber')
|
||||
;
|
||||
};
|
||||
@@ -1,17 +0,0 @@
|
||||
<?xml version="1.0" ?>
|
||||
|
||||
<container xmlns="http://symfony.com/schema/dic/services"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://symfony.com/schema/dic/services https://symfony.com/schema/dic/services/services-1.0.xsd">
|
||||
|
||||
<services>
|
||||
<defaults public="false" />
|
||||
|
||||
<service id="ssi" class="Symfony\Component\HttpKernel\HttpCache\Ssi" />
|
||||
|
||||
<service id="ssi_listener" class="Symfony\Component\HttpKernel\EventListener\SurrogateListener">
|
||||
<tag name="kernel.event_subscriber" />
|
||||
<argument type="service" id="ssi" on-invalid="ignore" />
|
||||
</service>
|
||||
</services>
|
||||
</container>
|
||||
@@ -1,52 +0,0 @@
|
||||
<?xml version="1.0" ?>
|
||||
|
||||
<container xmlns="http://symfony.com/schema/dic/services"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://symfony.com/schema/dic/services https://symfony.com/schema/dic/services/services-1.0.xsd">
|
||||
|
||||
<services>
|
||||
<defaults public="false" />
|
||||
|
||||
<service id="templating.engine.delegating" class="Symfony\Bundle\FrameworkBundle\Templating\DelegatingEngine">
|
||||
<argument type="service" id="service_container" />
|
||||
<argument type="collection" /> <!-- engines -->
|
||||
</service>
|
||||
|
||||
<service id="templating.name_parser" class="Symfony\Bundle\FrameworkBundle\Templating\TemplateNameParser">
|
||||
<argument type="service" id="kernel" />
|
||||
</service>
|
||||
|
||||
<service id="templating.filename_parser" class="Symfony\Bundle\FrameworkBundle\Templating\TemplateFilenameParser" />
|
||||
|
||||
<service id="templating.locator" class="Symfony\Bundle\FrameworkBundle\Templating\Loader\TemplateLocator">
|
||||
<argument type="service" id="file_locator" />
|
||||
<argument>%kernel.cache_dir%</argument>
|
||||
</service>
|
||||
|
||||
<service id="templating.finder" class="Symfony\Bundle\FrameworkBundle\CacheWarmer\TemplateFinder">
|
||||
<argument type="service" id="kernel" />
|
||||
<argument type="service" id="templating.filename_parser" />
|
||||
<argument>%kernel.root_dir%/Resources</argument>
|
||||
</service>
|
||||
|
||||
<service id="templating.cache_warmer.template_paths" class="Symfony\Bundle\FrameworkBundle\CacheWarmer\TemplatePathsCacheWarmer">
|
||||
<tag name="kernel.cache_warmer" priority="20" />
|
||||
<argument type="service" id="templating.finder" />
|
||||
<argument type="service" id="templating.locator" />
|
||||
</service>
|
||||
|
||||
<service id="templating.loader.filesystem" class="Symfony\Bundle\FrameworkBundle\Templating\Loader\FilesystemLoader">
|
||||
<argument type="service" id="templating.locator" />
|
||||
</service>
|
||||
|
||||
<service id="templating.loader.cache" class="Symfony\Component\Templating\Loader\CacheLoader">
|
||||
<argument type="service" id="templating.loader.wrapped" />
|
||||
<argument>%templating.loader.cache.path%</argument>
|
||||
</service>
|
||||
|
||||
<service id="templating.loader.chain" class="Symfony\Component\Templating\Loader\ChainLoader">
|
||||
</service>
|
||||
|
||||
<service id="templating.loader" alias="templating.loader.filesystem" public="true" />
|
||||
</services>
|
||||
</container>
|
||||
@@ -1,19 +0,0 @@
|
||||
<?xml version="1.0" ?>
|
||||
|
||||
<container xmlns="http://symfony.com/schema/dic/services"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://symfony.com/schema/dic/services https://symfony.com/schema/dic/services/services-1.0.xsd">
|
||||
|
||||
<services>
|
||||
<defaults public="false" />
|
||||
|
||||
<service id="debug.templating.engine.php" class="Symfony\Bundle\FrameworkBundle\Templating\TimedPhpEngine">
|
||||
<argument type="service" id="templating.name_parser" />
|
||||
<argument type="service" id="templating.engine.php.helpers_locator" />
|
||||
<argument type="service" id="templating.loader" />
|
||||
<argument type="service" id="debug.stopwatch" />
|
||||
<argument type="service" id="templating.globals" />
|
||||
<call method="setCharset"><argument>%kernel.charset%</argument></call>
|
||||
</service>
|
||||
</services>
|
||||
</container>
|
||||
@@ -1,88 +0,0 @@
|
||||
<?xml version="1.0" ?>
|
||||
|
||||
<container xmlns="http://symfony.com/schema/dic/services"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://symfony.com/schema/dic/services https://symfony.com/schema/dic/services/services-1.0.xsd">
|
||||
|
||||
<services>
|
||||
<defaults public="false" />
|
||||
|
||||
<service id="templating.engine.php" class="Symfony\Bundle\FrameworkBundle\Templating\PhpEngine">
|
||||
<argument type="service" id="templating.name_parser" />
|
||||
<argument type="service" id="templating.engine.php.helpers_locator" />
|
||||
<argument type="service" id="templating.loader" />
|
||||
<argument type="service" id="templating.globals" />
|
||||
<call method="setCharset"><argument>%kernel.charset%</argument></call>
|
||||
</service>
|
||||
|
||||
<service id="templating.engine.php.helpers_locator">
|
||||
<tag name="container.service_locator" />
|
||||
<argument type="collection" />
|
||||
</service>
|
||||
|
||||
<service id="templating.helper.slots" class="Symfony\Component\Templating\Helper\SlotsHelper">
|
||||
<tag name="templating.helper" alias="slots" />
|
||||
</service>
|
||||
|
||||
<service id="templating.helper.request" class="Symfony\Bundle\FrameworkBundle\Templating\Helper\RequestHelper">
|
||||
<tag name="templating.helper" alias="request" />
|
||||
<argument type="service" id="request_stack" />
|
||||
</service>
|
||||
|
||||
<service id="templating.helper.session" class="Symfony\Bundle\FrameworkBundle\Templating\Helper\SessionHelper">
|
||||
<tag name="templating.helper" alias="session" />
|
||||
<argument type="service" id="request_stack" />
|
||||
</service>
|
||||
|
||||
<service id="templating.helper.router" class="Symfony\Bundle\FrameworkBundle\Templating\Helper\RouterHelper">
|
||||
<tag name="templating.helper" alias="router" />
|
||||
<argument type="service" id="router" />
|
||||
</service>
|
||||
|
||||
<service id="templating.helper.assets" class="Symfony\Bundle\FrameworkBundle\Templating\Helper\AssetsHelper">
|
||||
<tag name="templating.helper" alias="assets" />
|
||||
<argument /> <!-- packages -->
|
||||
</service>
|
||||
|
||||
<service id="templating.helper.actions" class="Symfony\Bundle\FrameworkBundle\Templating\Helper\ActionsHelper">
|
||||
<tag name="templating.helper" alias="actions" />
|
||||
<argument type="service" id="fragment.handler" />
|
||||
</service>
|
||||
|
||||
<service id="templating.helper.code" class="Symfony\Bundle\FrameworkBundle\Templating\Helper\CodeHelper">
|
||||
<tag name="templating.helper" alias="code" />
|
||||
<argument type="service" id="debug.file_link_formatter"></argument>
|
||||
<argument>%kernel.project_dir%</argument>
|
||||
<argument>%kernel.charset%</argument>
|
||||
</service>
|
||||
|
||||
<service id="templating.helper.translator" class="Symfony\Bundle\FrameworkBundle\Templating\Helper\TranslatorHelper">
|
||||
<tag name="templating.helper" alias="translator" />
|
||||
<argument type="service" id="translator" />
|
||||
</service>
|
||||
|
||||
<service id="templating.helper.form" class="Symfony\Bundle\FrameworkBundle\Templating\Helper\FormHelper">
|
||||
<tag name="templating.helper" alias="form" />
|
||||
<argument type="service" id="templating.form.renderer" />
|
||||
</service>
|
||||
|
||||
<service id="templating.helper.stopwatch" class="Symfony\Bundle\FrameworkBundle\Templating\Helper\StopwatchHelper">
|
||||
<tag name="templating.helper" alias="stopwatch" />
|
||||
<argument type="service" id="debug.stopwatch" on-invalid="ignore" />
|
||||
</service>
|
||||
|
||||
<service id="templating.form.engine" class="Symfony\Component\Form\Extension\Templating\TemplatingRendererEngine">
|
||||
<argument type="service" id="templating.engine.php" />
|
||||
<argument>%templating.helper.form.resources%</argument>
|
||||
</service>
|
||||
|
||||
<service id="templating.form.renderer" class="Symfony\Component\Form\FormRenderer">
|
||||
<argument type="service" id="templating.form.engine" />
|
||||
<argument type="service" id="security.csrf.token_manager" on-invalid="null" />
|
||||
</service>
|
||||
|
||||
<service id="templating.globals" class="Symfony\Bundle\FrameworkBundle\Templating\GlobalVariables">
|
||||
<argument type="service" id="service_container" />
|
||||
</service>
|
||||
</services>
|
||||
</container>
|
||||
60
lib/symfony/framework-bundle/Resources/config/test.php
Normal file
60
lib/symfony/framework-bundle/Resources/config/test.php
Normal file
@@ -0,0 +1,60 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
|
||||
|
||||
use Symfony\Bundle\FrameworkBundle\KernelBrowser;
|
||||
use Symfony\Bundle\FrameworkBundle\Test\TestContainer;
|
||||
use Symfony\Component\BrowserKit\CookieJar;
|
||||
use Symfony\Component\BrowserKit\History;
|
||||
use Symfony\Component\DependencyInjection\ServiceLocator;
|
||||
use Symfony\Component\HttpKernel\EventListener\SessionListener;
|
||||
|
||||
return static function (ContainerConfigurator $container) {
|
||||
$container->parameters()->set('test.client.parameters', []);
|
||||
|
||||
$container->services()
|
||||
->set('test.client', KernelBrowser::class)
|
||||
->args([
|
||||
service('kernel'),
|
||||
param('test.client.parameters'),
|
||||
service('test.client.history'),
|
||||
service('test.client.cookiejar'),
|
||||
])
|
||||
->share(false)
|
||||
->public()
|
||||
|
||||
->set('test.client.history', History::class)->share(false)
|
||||
->set('test.client.cookiejar', CookieJar::class)->share(false)
|
||||
|
||||
->set('test.session.listener', SessionListener::class)
|
||||
->args([
|
||||
service_locator([
|
||||
'session' => service('.session.do-not-use')->ignoreOnInvalid(),
|
||||
'session_factory' => service('session.factory')->ignoreOnInvalid(),
|
||||
]),
|
||||
param('kernel.debug'),
|
||||
param('session.storage.options'),
|
||||
])
|
||||
->tag('kernel.event_subscriber')
|
||||
|
||||
->set('test.service_container', TestContainer::class)
|
||||
->args([
|
||||
service('kernel'),
|
||||
'test.private_services_locator',
|
||||
])
|
||||
->public()
|
||||
|
||||
->set('test.private_services_locator', ServiceLocator::class)
|
||||
->args([abstract_arg('callable collection')])
|
||||
->public()
|
||||
;
|
||||
};
|
||||
@@ -1,37 +0,0 @@
|
||||
<?xml version="1.0" ?>
|
||||
|
||||
<container xmlns="http://symfony.com/schema/dic/services"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://symfony.com/schema/dic/services https://symfony.com/schema/dic/services/services-1.0.xsd">
|
||||
|
||||
<parameters>
|
||||
<parameter key="test.client.parameters" type="collection"></parameter>
|
||||
</parameters>
|
||||
|
||||
<services>
|
||||
<defaults public="false" />
|
||||
|
||||
<service id="test.client" class="Symfony\Bundle\FrameworkBundle\Client" shared="false" public="true">
|
||||
<argument type="service" id="kernel" />
|
||||
<argument>%test.client.parameters%</argument>
|
||||
<argument type="service" id="test.client.history" />
|
||||
<argument type="service" id="test.client.cookiejar" />
|
||||
</service>
|
||||
|
||||
<service id="test.client.history" class="Symfony\Component\BrowserKit\History" shared="false" />
|
||||
|
||||
<service id="test.client.cookiejar" class="Symfony\Component\BrowserKit\CookieJar" shared="false" />
|
||||
|
||||
<service id="test.session.listener" class="Symfony\Component\HttpKernel\EventListener\TestSessionListener">
|
||||
<tag name="kernel.event_subscriber" />
|
||||
<argument type="service">
|
||||
<service class="Symfony\Component\DependencyInjection\ServiceLocator">
|
||||
<tag name="container.service_locator" />
|
||||
<argument type="collection">
|
||||
<argument key="session" type="service" id="session" on-invalid="ignore" />
|
||||
</argument>
|
||||
</service>
|
||||
</argument>
|
||||
</service>
|
||||
</services>
|
||||
</container>
|
||||
162
lib/symfony/framework-bundle/Resources/config/translation.php
Normal file
162
lib/symfony/framework-bundle/Resources/config/translation.php
Normal file
@@ -0,0 +1,162 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
|
||||
|
||||
use Psr\Container\ContainerInterface;
|
||||
use Symfony\Bundle\FrameworkBundle\CacheWarmer\TranslationsCacheWarmer;
|
||||
use Symfony\Bundle\FrameworkBundle\Translation\Translator;
|
||||
use Symfony\Component\Translation\Dumper\CsvFileDumper;
|
||||
use Symfony\Component\Translation\Dumper\IcuResFileDumper;
|
||||
use Symfony\Component\Translation\Dumper\IniFileDumper;
|
||||
use Symfony\Component\Translation\Dumper\JsonFileDumper;
|
||||
use Symfony\Component\Translation\Dumper\MoFileDumper;
|
||||
use Symfony\Component\Translation\Dumper\PhpFileDumper;
|
||||
use Symfony\Component\Translation\Dumper\PoFileDumper;
|
||||
use Symfony\Component\Translation\Dumper\QtFileDumper;
|
||||
use Symfony\Component\Translation\Dumper\XliffFileDumper;
|
||||
use Symfony\Component\Translation\Dumper\YamlFileDumper;
|
||||
use Symfony\Component\Translation\Extractor\ChainExtractor;
|
||||
use Symfony\Component\Translation\Extractor\ExtractorInterface;
|
||||
use Symfony\Component\Translation\Extractor\PhpExtractor;
|
||||
use Symfony\Component\Translation\Formatter\MessageFormatter;
|
||||
use Symfony\Component\Translation\Loader\CsvFileLoader;
|
||||
use Symfony\Component\Translation\Loader\IcuDatFileLoader;
|
||||
use Symfony\Component\Translation\Loader\IcuResFileLoader;
|
||||
use Symfony\Component\Translation\Loader\IniFileLoader;
|
||||
use Symfony\Component\Translation\Loader\JsonFileLoader;
|
||||
use Symfony\Component\Translation\Loader\MoFileLoader;
|
||||
use Symfony\Component\Translation\Loader\PhpFileLoader;
|
||||
use Symfony\Component\Translation\Loader\PoFileLoader;
|
||||
use Symfony\Component\Translation\Loader\QtFileLoader;
|
||||
use Symfony\Component\Translation\Loader\XliffFileLoader;
|
||||
use Symfony\Component\Translation\Loader\YamlFileLoader;
|
||||
use Symfony\Component\Translation\LoggingTranslator;
|
||||
use Symfony\Component\Translation\Reader\TranslationReader;
|
||||
use Symfony\Component\Translation\Reader\TranslationReaderInterface;
|
||||
use Symfony\Component\Translation\Writer\TranslationWriter;
|
||||
use Symfony\Component\Translation\Writer\TranslationWriterInterface;
|
||||
use Symfony\Contracts\Translation\TranslatorInterface;
|
||||
|
||||
return static function (ContainerConfigurator $container) {
|
||||
$container->services()
|
||||
->set('translator.default', Translator::class)
|
||||
->args([
|
||||
abstract_arg('translation loaders locator'),
|
||||
service('translator.formatter'),
|
||||
param('kernel.default_locale'),
|
||||
abstract_arg('translation loaders ids'),
|
||||
[
|
||||
'cache_dir' => param('kernel.cache_dir').'/translations',
|
||||
'debug' => param('kernel.debug'),
|
||||
],
|
||||
abstract_arg('enabled locales'),
|
||||
])
|
||||
->call('setConfigCacheFactory', [service('config_cache_factory')])
|
||||
->tag('kernel.locale_aware')
|
||||
|
||||
->alias(TranslatorInterface::class, 'translator')
|
||||
|
||||
->set('translator.logging', LoggingTranslator::class)
|
||||
->args([
|
||||
service('translator.logging.inner'),
|
||||
service('logger'),
|
||||
])
|
||||
->tag('monolog.logger', ['channel' => 'translation'])
|
||||
|
||||
->set('translator.formatter.default', MessageFormatter::class)
|
||||
->args([service('identity_translator')])
|
||||
|
||||
->set('translation.loader.php', PhpFileLoader::class)
|
||||
->tag('translation.loader', ['alias' => 'php'])
|
||||
|
||||
->set('translation.loader.yml', YamlFileLoader::class)
|
||||
->tag('translation.loader', ['alias' => 'yaml', 'legacy-alias' => 'yml'])
|
||||
|
||||
->set('translation.loader.xliff', XliffFileLoader::class)
|
||||
->tag('translation.loader', ['alias' => 'xlf', 'legacy-alias' => 'xliff'])
|
||||
|
||||
->set('translation.loader.po', PoFileLoader::class)
|
||||
->tag('translation.loader', ['alias' => 'po'])
|
||||
|
||||
->set('translation.loader.mo', MoFileLoader::class)
|
||||
->tag('translation.loader', ['alias' => 'mo'])
|
||||
|
||||
->set('translation.loader.qt', QtFileLoader::class)
|
||||
->tag('translation.loader', ['alias' => 'ts'])
|
||||
|
||||
->set('translation.loader.csv', CsvFileLoader::class)
|
||||
->tag('translation.loader', ['alias' => 'csv'])
|
||||
|
||||
->set('translation.loader.res', IcuResFileLoader::class)
|
||||
->tag('translation.loader', ['alias' => 'res'])
|
||||
|
||||
->set('translation.loader.dat', IcuDatFileLoader::class)
|
||||
->tag('translation.loader', ['alias' => 'dat'])
|
||||
|
||||
->set('translation.loader.ini', IniFileLoader::class)
|
||||
->tag('translation.loader', ['alias' => 'ini'])
|
||||
|
||||
->set('translation.loader.json', JsonFileLoader::class)
|
||||
->tag('translation.loader', ['alias' => 'json'])
|
||||
|
||||
->set('translation.dumper.php', PhpFileDumper::class)
|
||||
->tag('translation.dumper', ['alias' => 'php'])
|
||||
|
||||
->set('translation.dumper.xliff', XliffFileDumper::class)
|
||||
->tag('translation.dumper', ['alias' => 'xlf'])
|
||||
|
||||
->set('translation.dumper.po', PoFileDumper::class)
|
||||
->tag('translation.dumper', ['alias' => 'po'])
|
||||
|
||||
->set('translation.dumper.mo', MoFileDumper::class)
|
||||
->tag('translation.dumper', ['alias' => 'mo'])
|
||||
|
||||
->set('translation.dumper.yml', YamlFileDumper::class)
|
||||
->tag('translation.dumper', ['alias' => 'yml'])
|
||||
|
||||
->set('translation.dumper.yaml', YamlFileDumper::class)
|
||||
->args(['yaml'])
|
||||
->tag('translation.dumper', ['alias' => 'yaml'])
|
||||
|
||||
->set('translation.dumper.qt', QtFileDumper::class)
|
||||
->tag('translation.dumper', ['alias' => 'ts'])
|
||||
|
||||
->set('translation.dumper.csv', CsvFileDumper::class)
|
||||
->tag('translation.dumper', ['alias' => 'csv'])
|
||||
|
||||
->set('translation.dumper.ini', IniFileDumper::class)
|
||||
->tag('translation.dumper', ['alias' => 'ini'])
|
||||
|
||||
->set('translation.dumper.json', JsonFileDumper::class)
|
||||
->tag('translation.dumper', ['alias' => 'json'])
|
||||
|
||||
->set('translation.dumper.res', IcuResFileDumper::class)
|
||||
->tag('translation.dumper', ['alias' => 'res'])
|
||||
|
||||
->set('translation.extractor.php', PhpExtractor::class)
|
||||
->tag('translation.extractor', ['alias' => 'php'])
|
||||
|
||||
->set('translation.reader', TranslationReader::class)
|
||||
->alias(TranslationReaderInterface::class, 'translation.reader')
|
||||
|
||||
->set('translation.extractor', ChainExtractor::class)
|
||||
->alias(ExtractorInterface::class, 'translation.extractor')
|
||||
|
||||
->set('translation.writer', TranslationWriter::class)
|
||||
->alias(TranslationWriterInterface::class, 'translation.writer')
|
||||
|
||||
->set('translation.warmer', TranslationsCacheWarmer::class)
|
||||
->args([service(ContainerInterface::class)])
|
||||
->tag('container.service_subscriber', ['id' => 'translator'])
|
||||
->tag('kernel.cache_warmer')
|
||||
;
|
||||
};
|
||||
@@ -1,149 +0,0 @@
|
||||
<?xml version="1.0" ?>
|
||||
|
||||
<container xmlns="http://symfony.com/schema/dic/services"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://symfony.com/schema/dic/services https://symfony.com/schema/dic/services/services-1.0.xsd">
|
||||
|
||||
<services>
|
||||
<defaults public="false" />
|
||||
|
||||
<service id="translator.default" class="Symfony\Bundle\FrameworkBundle\Translation\Translator">
|
||||
<argument /> <!-- translation loaders locator -->
|
||||
<argument type="service" id="translator.formatter" />
|
||||
<argument>%kernel.default_locale%</argument>
|
||||
<argument type="collection" /> <!-- translation loaders ids -->
|
||||
<argument type="collection">
|
||||
<argument key="cache_dir">%kernel.cache_dir%/translations</argument>
|
||||
<argument key="debug">%kernel.debug%</argument>
|
||||
</argument>
|
||||
<call method="setConfigCacheFactory">
|
||||
<argument type="service" id="config_cache_factory" />
|
||||
</call>
|
||||
</service>
|
||||
<service id="Symfony\Component\Translation\TranslatorInterface" alias="translator" />
|
||||
|
||||
<service id="translator.logging" class="Symfony\Component\Translation\LoggingTranslator">
|
||||
<argument type="service" id="translator.logging.inner" />
|
||||
<argument type="service" id="logger" />
|
||||
<tag name="monolog.logger" channel="translation" />
|
||||
</service>
|
||||
|
||||
<service id="translator.formatter.default" class="Symfony\Component\Translation\Formatter\MessageFormatter">
|
||||
<argument type="service" id="translator.selector" />
|
||||
</service>
|
||||
|
||||
<service id="translation.loader.php" class="Symfony\Component\Translation\Loader\PhpFileLoader">
|
||||
<tag name="translation.loader" alias="php" />
|
||||
</service>
|
||||
|
||||
<service id="translation.loader.yml" class="Symfony\Component\Translation\Loader\YamlFileLoader">
|
||||
<tag name="translation.loader" alias="yaml" legacy-alias="yml" />
|
||||
</service>
|
||||
|
||||
<service id="translation.loader.xliff" class="Symfony\Component\Translation\Loader\XliffFileLoader">
|
||||
<tag name="translation.loader" alias="xlf" legacy-alias="xliff" />
|
||||
</service>
|
||||
|
||||
<service id="translation.loader.po" class="Symfony\Component\Translation\Loader\PoFileLoader">
|
||||
<tag name="translation.loader" alias="po" />
|
||||
</service>
|
||||
|
||||
<service id="translation.loader.mo" class="Symfony\Component\Translation\Loader\MoFileLoader">
|
||||
<tag name="translation.loader" alias="mo" />
|
||||
</service>
|
||||
|
||||
<service id="translation.loader.qt" class="Symfony\Component\Translation\Loader\QtFileLoader">
|
||||
<tag name="translation.loader" alias="ts" />
|
||||
</service>
|
||||
|
||||
<service id="translation.loader.csv" class="Symfony\Component\Translation\Loader\CsvFileLoader">
|
||||
<tag name="translation.loader" alias="csv" />
|
||||
</service>
|
||||
|
||||
<service id="translation.loader.res" class="Symfony\Component\Translation\Loader\IcuResFileLoader">
|
||||
<tag name="translation.loader" alias="res" />
|
||||
</service>
|
||||
|
||||
<service id="translation.loader.dat" class="Symfony\Component\Translation\Loader\IcuDatFileLoader">
|
||||
<tag name="translation.loader" alias="dat" />
|
||||
</service>
|
||||
|
||||
<service id="translation.loader.ini" class="Symfony\Component\Translation\Loader\IniFileLoader">
|
||||
<tag name="translation.loader" alias="ini" />
|
||||
</service>
|
||||
|
||||
<service id="translation.loader.json" class="Symfony\Component\Translation\Loader\JsonFileLoader">
|
||||
<tag name="translation.loader" alias="json" />
|
||||
</service>
|
||||
|
||||
<service id="translation.dumper.php" class="Symfony\Component\Translation\Dumper\PhpFileDumper">
|
||||
<tag name="translation.dumper" alias="php" />
|
||||
</service>
|
||||
|
||||
<service id="translation.dumper.xliff" class="Symfony\Component\Translation\Dumper\XliffFileDumper">
|
||||
<tag name="translation.dumper" alias="xlf" />
|
||||
</service>
|
||||
|
||||
<service id="translation.dumper.po" class="Symfony\Component\Translation\Dumper\PoFileDumper">
|
||||
<tag name="translation.dumper" alias="po" />
|
||||
</service>
|
||||
|
||||
<service id="translation.dumper.mo" class="Symfony\Component\Translation\Dumper\MoFileDumper">
|
||||
<tag name="translation.dumper" alias="mo" />
|
||||
</service>
|
||||
|
||||
<service id="translation.dumper.yml" class="Symfony\Component\Translation\Dumper\YamlFileDumper">
|
||||
<tag name="translation.dumper" alias="yml" />
|
||||
</service>
|
||||
|
||||
<service id="translation.dumper.yaml" class="Symfony\Component\Translation\Dumper\YamlFileDumper">
|
||||
<argument>yaml</argument>
|
||||
<tag name="translation.dumper" alias="yaml" />
|
||||
</service>
|
||||
|
||||
<service id="translation.dumper.qt" class="Symfony\Component\Translation\Dumper\QtFileDumper">
|
||||
<tag name="translation.dumper" alias="ts" />
|
||||
</service>
|
||||
|
||||
<service id="translation.dumper.csv" class="Symfony\Component\Translation\Dumper\CsvFileDumper">
|
||||
<tag name="translation.dumper" alias="csv" />
|
||||
</service>
|
||||
|
||||
<service id="translation.dumper.ini" class="Symfony\Component\Translation\Dumper\IniFileDumper">
|
||||
<tag name="translation.dumper" alias="ini" />
|
||||
</service>
|
||||
|
||||
<service id="translation.dumper.json" class="Symfony\Component\Translation\Dumper\JsonFileDumper">
|
||||
<tag name="translation.dumper" alias="json" />
|
||||
</service>
|
||||
|
||||
<service id="translation.dumper.res" class="Symfony\Component\Translation\Dumper\IcuResFileDumper">
|
||||
<tag name="translation.dumper" alias="res" />
|
||||
</service>
|
||||
|
||||
<service id="translation.extractor.php" class="Symfony\Component\Translation\Extractor\PhpExtractor">
|
||||
<tag name="translation.extractor" alias="php" />
|
||||
</service>
|
||||
|
||||
<service id="translation.loader" class="Symfony\Bundle\FrameworkBundle\Translation\TranslationLoader">
|
||||
<deprecated>The "%service_id%" service is deprecated since Symfony 3.4 and will be removed in 4.0. Use "translation.reader" instead.</deprecated>
|
||||
</service>
|
||||
<service id="translation.reader" class="Symfony\Component\Translation\Reader\TranslationReader" />
|
||||
|
||||
<service id="translation.extractor" class="Symfony\Component\Translation\Extractor\ChainExtractor" />
|
||||
|
||||
<service id="translation.writer" class="Symfony\Component\Translation\Writer\TranslationWriter" />
|
||||
|
||||
<service id="translation.warmer" class="Symfony\Bundle\FrameworkBundle\CacheWarmer\TranslationsCacheWarmer">
|
||||
<tag name="container.service_subscriber" id="translator" />
|
||||
<tag name="kernel.cache_warmer" />
|
||||
<argument type="service" id="Psr\Container\ContainerInterface" />
|
||||
</service>
|
||||
|
||||
<service id="translator_listener" class="Symfony\Component\HttpKernel\EventListener\TranslatorListener">
|
||||
<argument type="service" id="translator" />
|
||||
<argument type="service" id="request_stack" />
|
||||
<tag name="kernel.event_subscriber" />
|
||||
</service>
|
||||
</services>
|
||||
</container>
|
||||
@@ -0,0 +1,30 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
|
||||
|
||||
use Symfony\Component\Translation\DataCollector\TranslationDataCollector;
|
||||
use Symfony\Component\Translation\DataCollectorTranslator;
|
||||
|
||||
return static function (ContainerConfigurator $container) {
|
||||
$container->services()
|
||||
->set('translator.data_collector', DataCollectorTranslator::class)
|
||||
->args([service('translator.data_collector.inner')])
|
||||
|
||||
->set('data_collector.translation', TranslationDataCollector::class)
|
||||
->args([service('translator.data_collector')])
|
||||
->tag('data_collector', [
|
||||
'template' => '@WebProfiler/Collector/translation.html.twig',
|
||||
'id' => 'translation',
|
||||
'priority' => 275,
|
||||
])
|
||||
;
|
||||
};
|
||||
@@ -1,21 +0,0 @@
|
||||
<?xml version="1.0" ?>
|
||||
|
||||
<container xmlns="http://symfony.com/schema/dic/services"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://symfony.com/schema/dic/services https://symfony.com/schema/dic/services/services-1.0.xsd">
|
||||
|
||||
<services>
|
||||
<defaults public="false" />
|
||||
|
||||
<!-- DataCollectorTranslator -->
|
||||
<service id="translator.data_collector" class="Symfony\Component\Translation\DataCollectorTranslator">
|
||||
<argument type="service" id="translator.data_collector.inner" />
|
||||
</service>
|
||||
|
||||
<!-- DataCollector -->
|
||||
<service id="data_collector.translation" class="Symfony\Component\Translation\DataCollector\TranslationDataCollector">
|
||||
<tag name="data_collector" template="@WebProfiler/Collector/translation.html.twig" id="translation" priority="275" />
|
||||
<argument type="service" id="translator.data_collector" />
|
||||
</service>
|
||||
</services>
|
||||
</container>
|
||||
@@ -0,0 +1,66 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
|
||||
|
||||
use Symfony\Component\Translation\Bridge\Crowdin\CrowdinProviderFactory;
|
||||
use Symfony\Component\Translation\Bridge\Loco\LocoProviderFactory;
|
||||
use Symfony\Component\Translation\Bridge\Lokalise\LokaliseProviderFactory;
|
||||
use Symfony\Component\Translation\Provider\NullProviderFactory;
|
||||
use Symfony\Component\Translation\Provider\TranslationProviderCollection;
|
||||
use Symfony\Component\Translation\Provider\TranslationProviderCollectionFactory;
|
||||
|
||||
return static function (ContainerConfigurator $container) {
|
||||
$container->services()
|
||||
->set('translation.provider_collection', TranslationProviderCollection::class)
|
||||
->factory([service('translation.provider_collection_factory'), 'fromConfig'])
|
||||
->args([
|
||||
[], // Providers
|
||||
])
|
||||
|
||||
->set('translation.provider_collection_factory', TranslationProviderCollectionFactory::class)
|
||||
->args([
|
||||
tagged_iterator('translation.provider_factory'),
|
||||
[], // Enabled locales
|
||||
])
|
||||
|
||||
->set('translation.provider_factory.null', NullProviderFactory::class)
|
||||
->tag('translation.provider_factory')
|
||||
|
||||
->set('translation.provider_factory.crowdin', CrowdinProviderFactory::class)
|
||||
->args([
|
||||
service('http_client'),
|
||||
service('logger'),
|
||||
param('kernel.default_locale'),
|
||||
service('translation.loader.xliff'),
|
||||
service('translation.dumper.xliff'),
|
||||
])
|
||||
->tag('translation.provider_factory')
|
||||
|
||||
->set('translation.provider_factory.loco', LocoProviderFactory::class)
|
||||
->args([
|
||||
service('http_client'),
|
||||
service('logger'),
|
||||
param('kernel.default_locale'),
|
||||
service('translation.loader.xliff'),
|
||||
])
|
||||
->tag('translation.provider_factory')
|
||||
|
||||
->set('translation.provider_factory.lokalise', LokaliseProviderFactory::class)
|
||||
->args([
|
||||
service('http_client'),
|
||||
service('logger'),
|
||||
param('kernel.default_locale'),
|
||||
service('translation.loader.xliff'),
|
||||
])
|
||||
->tag('translation.provider_factory')
|
||||
;
|
||||
};
|
||||
41
lib/symfony/framework-bundle/Resources/config/uid.php
Normal file
41
lib/symfony/framework-bundle/Resources/config/uid.php
Normal file
@@ -0,0 +1,41 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
|
||||
|
||||
use Symfony\Component\Uid\Factory\NameBasedUuidFactory;
|
||||
use Symfony\Component\Uid\Factory\RandomBasedUuidFactory;
|
||||
use Symfony\Component\Uid\Factory\TimeBasedUuidFactory;
|
||||
use Symfony\Component\Uid\Factory\UlidFactory;
|
||||
use Symfony\Component\Uid\Factory\UuidFactory;
|
||||
|
||||
return static function (ContainerConfigurator $container) {
|
||||
$container->services()
|
||||
->set('ulid.factory', UlidFactory::class)
|
||||
->alias(UlidFactory::class, 'ulid.factory')
|
||||
|
||||
->set('uuid.factory', UuidFactory::class)
|
||||
->alias(UuidFactory::class, 'uuid.factory')
|
||||
|
||||
->set('name_based_uuid.factory', NameBasedUuidFactory::class)
|
||||
->factory([service('uuid.factory'), 'nameBased'])
|
||||
->args([abstract_arg('Please set the "framework.uid.name_based_uuid_namespace" configuration option to use the "name_based_uuid.factory" service')])
|
||||
->alias(NameBasedUuidFactory::class, 'name_based_uuid.factory')
|
||||
|
||||
->set('random_based_uuid.factory', RandomBasedUuidFactory::class)
|
||||
->factory([service('uuid.factory'), 'randomBased'])
|
||||
->alias(RandomBasedUuidFactory::class, 'random_based_uuid.factory')
|
||||
|
||||
->set('time_based_uuid.factory', TimeBasedUuidFactory::class)
|
||||
->factory([service('uuid.factory'), 'timeBased'])
|
||||
->alias(TimeBasedUuidFactory::class, 'time_based_uuid.factory')
|
||||
;
|
||||
};
|
||||
108
lib/symfony/framework-bundle/Resources/config/validator.php
Normal file
108
lib/symfony/framework-bundle/Resources/config/validator.php
Normal file
@@ -0,0 +1,108 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
|
||||
|
||||
use Symfony\Bundle\FrameworkBundle\CacheWarmer\ValidatorCacheWarmer;
|
||||
use Symfony\Component\Cache\Adapter\PhpArrayAdapter;
|
||||
use Symfony\Component\ExpressionLanguage\ExpressionLanguage;
|
||||
use Symfony\Component\Validator\Constraints\EmailValidator;
|
||||
use Symfony\Component\Validator\Constraints\ExpressionValidator;
|
||||
use Symfony\Component\Validator\Constraints\NotCompromisedPasswordValidator;
|
||||
use Symfony\Component\Validator\ContainerConstraintValidatorFactory;
|
||||
use Symfony\Component\Validator\Mapping\Loader\PropertyInfoLoader;
|
||||
use Symfony\Component\Validator\Validation;
|
||||
use Symfony\Component\Validator\Validator\ValidatorInterface;
|
||||
use Symfony\Component\Validator\ValidatorBuilder;
|
||||
|
||||
return static function (ContainerConfigurator $container) {
|
||||
$container->parameters()
|
||||
->set('validator.mapping.cache.file', param('kernel.cache_dir').'/validation.php');
|
||||
|
||||
$container->services()
|
||||
->set('validator', ValidatorInterface::class)
|
||||
->public()
|
||||
->factory([service('validator.builder'), 'getValidator'])
|
||||
->tag('container.private', ['package' => 'symfony/framework-bundle', 'version' => '5.2'])
|
||||
->alias(ValidatorInterface::class, 'validator')
|
||||
|
||||
->set('validator.builder', ValidatorBuilder::class)
|
||||
->factory([Validation::class, 'createValidatorBuilder'])
|
||||
->call('setConstraintValidatorFactory', [
|
||||
service('validator.validator_factory'),
|
||||
])
|
||||
->call('setTranslator', [
|
||||
service('translator')->ignoreOnInvalid(),
|
||||
])
|
||||
->call('setTranslationDomain', [
|
||||
param('validator.translation_domain'),
|
||||
])
|
||||
->alias('validator.mapping.class_metadata_factory', 'validator')
|
||||
|
||||
->set('validator.mapping.cache_warmer', ValidatorCacheWarmer::class)
|
||||
->args([
|
||||
service('validator.builder'),
|
||||
param('validator.mapping.cache.file'),
|
||||
])
|
||||
->tag('kernel.cache_warmer')
|
||||
|
||||
->set('validator.mapping.cache.adapter', PhpArrayAdapter::class)
|
||||
->factory([PhpArrayAdapter::class, 'create'])
|
||||
->args([
|
||||
param('validator.mapping.cache.file'),
|
||||
service('cache.validator'),
|
||||
])
|
||||
|
||||
->set('validator.validator_factory', ContainerConstraintValidatorFactory::class)
|
||||
->args([
|
||||
abstract_arg('Constraint validators locator'),
|
||||
])
|
||||
|
||||
->set('validator.expression', ExpressionValidator::class)
|
||||
->args([service('validator.expression_language')->nullOnInvalid()])
|
||||
->tag('validator.constraint_validator', [
|
||||
'alias' => 'validator.expression',
|
||||
])
|
||||
|
||||
->set('validator.expression_language', ExpressionLanguage::class)
|
||||
->args([service('cache.validator_expression_language')->nullOnInvalid()])
|
||||
|
||||
->set('cache.validator_expression_language')
|
||||
->parent('cache.system')
|
||||
->tag('cache.pool')
|
||||
|
||||
->set('validator.email', EmailValidator::class)
|
||||
->args([
|
||||
abstract_arg('Default mode'),
|
||||
])
|
||||
->tag('validator.constraint_validator', [
|
||||
'alias' => EmailValidator::class,
|
||||
])
|
||||
|
||||
->set('validator.not_compromised_password', NotCompromisedPasswordValidator::class)
|
||||
->args([
|
||||
service('http_client')->nullOnInvalid(),
|
||||
param('kernel.charset'),
|
||||
false,
|
||||
])
|
||||
->tag('validator.constraint_validator', [
|
||||
'alias' => NotCompromisedPasswordValidator::class,
|
||||
])
|
||||
|
||||
->set('validator.property_info_loader', PropertyInfoLoader::class)
|
||||
->args([
|
||||
service('property_info'),
|
||||
service('property_info'),
|
||||
service('property_info'),
|
||||
])
|
||||
->tag('validator.auto_mapper')
|
||||
;
|
||||
};
|
||||
@@ -1,76 +0,0 @@
|
||||
<?xml version="1.0" ?>
|
||||
|
||||
<container xmlns="http://symfony.com/schema/dic/services"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://symfony.com/schema/dic/services https://symfony.com/schema/dic/services/services-1.0.xsd">
|
||||
|
||||
<parameters>
|
||||
<parameter key="validator.mapping.cache.prefix" />
|
||||
<parameter key="validator.mapping.cache.file">%kernel.cache_dir%/validation.php</parameter>
|
||||
</parameters>
|
||||
|
||||
<services>
|
||||
<defaults public="false" />
|
||||
|
||||
<service id="validator" class="Symfony\Component\Validator\Validator\ValidatorInterface" public="true">
|
||||
<factory service="validator.builder" method="getValidator" />
|
||||
</service>
|
||||
<service id="Symfony\Component\Validator\Validator\ValidatorInterface" alias="validator" />
|
||||
|
||||
<service id="validator.builder" class="Symfony\Component\Validator\ValidatorBuilderInterface">
|
||||
<factory class="Symfony\Component\Validator\Validation" method="createValidatorBuilder" />
|
||||
<call method="setConstraintValidatorFactory">
|
||||
<argument type="service" id="validator.validator_factory" />
|
||||
</call>
|
||||
<call method="setTranslator">
|
||||
<argument type="service" id="translator" on-invalid="ignore" />
|
||||
</call>
|
||||
<call method="setTranslationDomain">
|
||||
<argument>%validator.translation_domain%</argument>
|
||||
</call>
|
||||
</service>
|
||||
|
||||
<service id="validator.mapping.class_metadata_factory" alias="validator" />
|
||||
|
||||
<service id="validator.mapping.cache_warmer" class="Symfony\Bundle\FrameworkBundle\CacheWarmer\ValidatorCacheWarmer">
|
||||
<argument type="service" id="validator.builder" />
|
||||
<argument>%validator.mapping.cache.file%</argument>
|
||||
<argument type="service" id="cache.validator" />
|
||||
<tag name="kernel.cache_warmer" />
|
||||
</service>
|
||||
|
||||
<service id="validator.mapping.cache.symfony" class="Symfony\Component\Validator\Mapping\Cache\Psr6Cache">
|
||||
<argument type="service">
|
||||
<service class="Symfony\Component\Cache\Adapter\PhpArrayAdapter">
|
||||
<factory class="Symfony\Component\Cache\Adapter\PhpArrayAdapter" method="create" />
|
||||
<argument>%validator.mapping.cache.file%</argument>
|
||||
<argument type="service" id="cache.validator" />
|
||||
</service>
|
||||
</argument>
|
||||
</service>
|
||||
|
||||
<service id="validator.mapping.cache.doctrine.apc" class="Symfony\Component\Validator\Mapping\Cache\DoctrineCache">
|
||||
<argument type="service">
|
||||
<service class="Doctrine\Common\Cache\ApcCache">
|
||||
<call method="setNamespace">
|
||||
<argument>%validator.mapping.cache.prefix%</argument>
|
||||
</call>
|
||||
</service>
|
||||
</argument>
|
||||
<deprecated>The "%service_id%" service is deprecated since Symfony 3.4 and will be removed in 4.0. Use a Psr6 cache like "validator.mapping.cache.symfony" instead.</deprecated>
|
||||
</service>
|
||||
|
||||
<service id="validator.validator_factory" class="Symfony\Component\Validator\ContainerConstraintValidatorFactory">
|
||||
<argument /> <!-- Constraint validators locator -->
|
||||
</service>
|
||||
|
||||
<service id="validator.expression" class="Symfony\Component\Validator\Constraints\ExpressionValidator">
|
||||
<tag name="validator.constraint_validator" alias="validator.expression" />
|
||||
</service>
|
||||
|
||||
<service id="validator.email" class="Symfony\Component\Validator\Constraints\EmailValidator">
|
||||
<argument></argument>
|
||||
<tag name="validator.constraint_validator" alias="Symfony\Component\Validator\Constraints\EmailValidator" />
|
||||
</service>
|
||||
</services>
|
||||
</container>
|
||||
@@ -0,0 +1,38 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
|
||||
|
||||
use Symfony\Component\Validator\DataCollector\ValidatorDataCollector;
|
||||
use Symfony\Component\Validator\Validator\TraceableValidator;
|
||||
|
||||
return static function (ContainerConfigurator $container) {
|
||||
$container->services()
|
||||
->set('debug.validator', TraceableValidator::class)
|
||||
->decorate('validator', null, 255)
|
||||
->args([
|
||||
service('debug.validator.inner'),
|
||||
])
|
||||
->tag('kernel.reset', [
|
||||
'method' => 'reset',
|
||||
])
|
||||
|
||||
->set('data_collector.validator', ValidatorDataCollector::class)
|
||||
->args([
|
||||
service('debug.validator'),
|
||||
])
|
||||
->tag('data_collector', [
|
||||
'template' => '@WebProfiler/Collector/validator.html.twig',
|
||||
'id' => 'validator',
|
||||
'priority' => 320,
|
||||
])
|
||||
;
|
||||
};
|
||||
@@ -1,21 +0,0 @@
|
||||
<?xml version="1.0" ?>
|
||||
|
||||
<container xmlns="http://symfony.com/schema/dic/services"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://symfony.com/schema/dic/services https://symfony.com/schema/dic/services/services-1.0.xsd">
|
||||
|
||||
<services>
|
||||
<defaults public="false" />
|
||||
|
||||
<service id="debug.validator" decorates="validator" decoration-priority="255" class="Symfony\Component\Validator\Validator\TraceableValidator">
|
||||
<argument type="service" id="debug.validator.inner" />
|
||||
<tag name="kernel.reset" method="reset" />
|
||||
</service>
|
||||
|
||||
<!-- DataCollector -->
|
||||
<service id="data_collector.validator" class="Symfony\Component\Validator\DataCollector\ValidatorDataCollector">
|
||||
<argument type="service" id="debug.validator"/>
|
||||
<tag name="data_collector" template="@WebProfiler/Collector/validator.html.twig" id="validator" priority="320" />
|
||||
</service>
|
||||
</services>
|
||||
</container>
|
||||
113
lib/symfony/framework-bundle/Resources/config/web.php
Normal file
113
lib/symfony/framework-bundle/Resources/config/web.php
Normal file
@@ -0,0 +1,113 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
|
||||
|
||||
use Symfony\Bundle\FrameworkBundle\Controller\ControllerResolver;
|
||||
use Symfony\Component\HttpKernel\Controller\ArgumentResolver;
|
||||
use Symfony\Component\HttpKernel\Controller\ArgumentResolver\DefaultValueResolver;
|
||||
use Symfony\Component\HttpKernel\Controller\ArgumentResolver\RequestAttributeValueResolver;
|
||||
use Symfony\Component\HttpKernel\Controller\ArgumentResolver\RequestValueResolver;
|
||||
use Symfony\Component\HttpKernel\Controller\ArgumentResolver\ServiceValueResolver;
|
||||
use Symfony\Component\HttpKernel\Controller\ArgumentResolver\SessionValueResolver;
|
||||
use Symfony\Component\HttpKernel\Controller\ArgumentResolver\VariadicValueResolver;
|
||||
use Symfony\Component\HttpKernel\Controller\ErrorController;
|
||||
use Symfony\Component\HttpKernel\ControllerMetadata\ArgumentMetadataFactory;
|
||||
use Symfony\Component\HttpKernel\EventListener\DisallowRobotsIndexingListener;
|
||||
use Symfony\Component\HttpKernel\EventListener\ErrorListener;
|
||||
use Symfony\Component\HttpKernel\EventListener\LocaleListener;
|
||||
use Symfony\Component\HttpKernel\EventListener\ResponseListener;
|
||||
use Symfony\Component\HttpKernel\EventListener\StreamedResponseListener;
|
||||
use Symfony\Component\HttpKernel\EventListener\ValidateRequestListener;
|
||||
|
||||
return static function (ContainerConfigurator $container) {
|
||||
$container->services()
|
||||
->set('controller_resolver', ControllerResolver::class)
|
||||
->args([
|
||||
service('service_container'),
|
||||
service('logger')->ignoreOnInvalid(),
|
||||
])
|
||||
->tag('monolog.logger', ['channel' => 'request'])
|
||||
|
||||
->set('argument_metadata_factory', ArgumentMetadataFactory::class)
|
||||
|
||||
->set('argument_resolver', ArgumentResolver::class)
|
||||
->args([
|
||||
service('argument_metadata_factory'),
|
||||
abstract_arg('argument value resolvers'),
|
||||
])
|
||||
|
||||
->set('argument_resolver.request_attribute', RequestAttributeValueResolver::class)
|
||||
->tag('controller.argument_value_resolver', ['priority' => 100])
|
||||
|
||||
->set('argument_resolver.request', RequestValueResolver::class)
|
||||
->tag('controller.argument_value_resolver', ['priority' => 50])
|
||||
|
||||
->set('argument_resolver.session', SessionValueResolver::class)
|
||||
->tag('controller.argument_value_resolver', ['priority' => 50])
|
||||
|
||||
->set('argument_resolver.service', ServiceValueResolver::class)
|
||||
->args([
|
||||
abstract_arg('service locator, set in RegisterControllerArgumentLocatorsPass'),
|
||||
])
|
||||
->tag('controller.argument_value_resolver', ['priority' => -50])
|
||||
|
||||
->set('argument_resolver.default', DefaultValueResolver::class)
|
||||
->tag('controller.argument_value_resolver', ['priority' => -100])
|
||||
|
||||
->set('argument_resolver.variadic', VariadicValueResolver::class)
|
||||
->tag('controller.argument_value_resolver', ['priority' => -150])
|
||||
|
||||
->set('response_listener', ResponseListener::class)
|
||||
->args([
|
||||
param('kernel.charset'),
|
||||
abstract_arg('The "set_content_language_from_locale" config value'),
|
||||
])
|
||||
->tag('kernel.event_subscriber')
|
||||
|
||||
->set('streamed_response_listener', StreamedResponseListener::class)
|
||||
->tag('kernel.event_subscriber')
|
||||
|
||||
->set('locale_listener', LocaleListener::class)
|
||||
->args([
|
||||
service('request_stack'),
|
||||
param('kernel.default_locale'),
|
||||
service('router')->ignoreOnInvalid(),
|
||||
abstract_arg('The "set_locale_from_accept_language" config value'),
|
||||
param('kernel.enabled_locales'),
|
||||
])
|
||||
->tag('kernel.event_subscriber')
|
||||
|
||||
->set('validate_request_listener', ValidateRequestListener::class)
|
||||
->tag('kernel.event_subscriber')
|
||||
|
||||
->set('disallow_search_engine_index_response_listener', DisallowRobotsIndexingListener::class)
|
||||
->tag('kernel.event_subscriber')
|
||||
|
||||
->set('error_controller', ErrorController::class)
|
||||
->public()
|
||||
->args([
|
||||
service('http_kernel'),
|
||||
param('kernel.error_controller'),
|
||||
service('error_renderer'),
|
||||
])
|
||||
|
||||
->set('exception_listener', ErrorListener::class)
|
||||
->args([
|
||||
param('kernel.error_controller'),
|
||||
service('logger')->nullOnInvalid(),
|
||||
param('kernel.debug'),
|
||||
abstract_arg('an exceptions to log & status code mapping'),
|
||||
])
|
||||
->tag('kernel.event_subscriber')
|
||||
->tag('monolog.logger', ['channel' => 'request'])
|
||||
;
|
||||
};
|
||||
@@ -1,79 +0,0 @@
|
||||
<?xml version="1.0" ?>
|
||||
|
||||
<container xmlns="http://symfony.com/schema/dic/services"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://symfony.com/schema/dic/services https://symfony.com/schema/dic/services/services-1.0.xsd">
|
||||
|
||||
<services>
|
||||
<defaults public="false" />
|
||||
|
||||
<service id="controller_name_converter" class="Symfony\Bundle\FrameworkBundle\Controller\ControllerNameParser">
|
||||
<tag name="monolog.logger" channel="request" />
|
||||
<argument type="service" id="kernel" />
|
||||
</service>
|
||||
|
||||
<service id="controller_resolver" class="Symfony\Bundle\FrameworkBundle\Controller\ControllerResolver">
|
||||
<tag name="monolog.logger" channel="request" />
|
||||
<argument type="service" id="service_container" />
|
||||
<argument type="service" id="controller_name_converter" />
|
||||
<argument type="service" id="logger" on-invalid="ignore" />
|
||||
</service>
|
||||
|
||||
<service id="argument_metadata_factory" class="Symfony\Component\HttpKernel\ControllerMetadata\ArgumentMetadataFactory" />
|
||||
|
||||
<service id="argument_resolver" class="Symfony\Component\HttpKernel\Controller\ArgumentResolver">
|
||||
<argument type="service" id="argument_metadata_factory" />
|
||||
<argument /> <!-- argument value resolvers -->
|
||||
</service>
|
||||
|
||||
<service id="argument_resolver.request_attribute" class="Symfony\Component\HttpKernel\Controller\ArgumentResolver\RequestAttributeValueResolver">
|
||||
<tag name="controller.argument_value_resolver" priority="100" />
|
||||
</service>
|
||||
|
||||
<service id="argument_resolver.request" class="Symfony\Component\HttpKernel\Controller\ArgumentResolver\RequestValueResolver">
|
||||
<tag name="controller.argument_value_resolver" priority="50" />
|
||||
</service>
|
||||
|
||||
<service id="argument_resolver.session" class="Symfony\Component\HttpKernel\Controller\ArgumentResolver\SessionValueResolver">
|
||||
<tag name="controller.argument_value_resolver" priority="50" />
|
||||
</service>
|
||||
|
||||
<service id="argument_resolver.service" class="Symfony\Component\HttpKernel\Controller\ArgumentResolver\ServiceValueResolver">
|
||||
<tag name="controller.argument_value_resolver" priority="-50" />
|
||||
<argument />
|
||||
</service>
|
||||
|
||||
<service id="argument_resolver.default" class="Symfony\Component\HttpKernel\Controller\ArgumentResolver\DefaultValueResolver">
|
||||
<tag name="controller.argument_value_resolver" priority="-100" />
|
||||
</service>
|
||||
|
||||
<service id="argument_resolver.variadic" class="Symfony\Component\HttpKernel\Controller\ArgumentResolver\VariadicValueResolver">
|
||||
<tag name="controller.argument_value_resolver" priority="-150" />
|
||||
</service>
|
||||
|
||||
<service id="response_listener" class="Symfony\Component\HttpKernel\EventListener\ResponseListener">
|
||||
<tag name="kernel.event_subscriber" />
|
||||
<argument>%kernel.charset%</argument>
|
||||
</service>
|
||||
|
||||
<service id="streamed_response_listener" class="Symfony\Component\HttpKernel\EventListener\StreamedResponseListener">
|
||||
<tag name="kernel.event_subscriber" />
|
||||
</service>
|
||||
|
||||
<service id="locale_listener" class="Symfony\Component\HttpKernel\EventListener\LocaleListener">
|
||||
<tag name="kernel.event_subscriber" />
|
||||
<argument type="service" id="request_stack" />
|
||||
<argument>%kernel.default_locale%</argument>
|
||||
<argument type="service" id="router" on-invalid="ignore" />
|
||||
</service>
|
||||
|
||||
<service id="validate_request_listener" class="Symfony\Component\HttpKernel\EventListener\ValidateRequestListener">
|
||||
<tag name="kernel.event_subscriber" />
|
||||
</service>
|
||||
|
||||
<service id="resolve_controller_name_subscriber" class="Symfony\Bundle\FrameworkBundle\EventListener\ResolveControllerNameSubscriber">
|
||||
<argument type="service" id="controller_name_converter" />
|
||||
<tag name="kernel.event_subscriber" />
|
||||
</service>
|
||||
</services>
|
||||
</container>
|
||||
21
lib/symfony/framework-bundle/Resources/config/web_link.php
Normal file
21
lib/symfony/framework-bundle/Resources/config/web_link.php
Normal file
@@ -0,0 +1,21 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
|
||||
|
||||
use Symfony\Component\WebLink\EventListener\AddLinkHeaderListener;
|
||||
|
||||
return static function (ContainerConfigurator $container) {
|
||||
$container->services()
|
||||
->set('web_link.add_link_header_listener', AddLinkHeaderListener::class)
|
||||
->tag('kernel.event_subscriber')
|
||||
;
|
||||
};
|
||||
@@ -1,14 +0,0 @@
|
||||
<?xml version="1.0" ?>
|
||||
|
||||
<container xmlns="http://symfony.com/schema/dic/services"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://symfony.com/schema/dic/services https://symfony.com/schema/dic/services/services-1.0.xsd">
|
||||
|
||||
<services>
|
||||
<defaults public="false" />
|
||||
|
||||
<service id="web_link.add_link_header_listener" class="Symfony\Component\WebLink\EventListener\AddLinkHeaderListener">
|
||||
<tag name="kernel.event_subscriber" />
|
||||
</service>
|
||||
</services>
|
||||
</container>
|
||||
50
lib/symfony/framework-bundle/Resources/config/workflow.php
Normal file
50
lib/symfony/framework-bundle/Resources/config/workflow.php
Normal file
@@ -0,0 +1,50 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
|
||||
|
||||
use Symfony\Component\Workflow\EventListener\ExpressionLanguage;
|
||||
use Symfony\Component\Workflow\MarkingStore\MethodMarkingStore;
|
||||
use Symfony\Component\Workflow\Registry;
|
||||
use Symfony\Component\Workflow\StateMachine;
|
||||
use Symfony\Component\Workflow\Workflow;
|
||||
|
||||
return static function (ContainerConfigurator $container) {
|
||||
$container->services()
|
||||
->set('workflow.abstract', Workflow::class)
|
||||
->args([
|
||||
abstract_arg('workflow definition'),
|
||||
abstract_arg('marking store'),
|
||||
service('event_dispatcher')->ignoreOnInvalid(),
|
||||
abstract_arg('workflow name'),
|
||||
abstract_arg('events to dispatch'),
|
||||
])
|
||||
->abstract()
|
||||
->public()
|
||||
->tag('container.private', ['package' => 'symfony/framework-bundle', 'version' => '5.3'])
|
||||
->set('state_machine.abstract', StateMachine::class)
|
||||
->args([
|
||||
abstract_arg('workflow definition'),
|
||||
abstract_arg('marking store'),
|
||||
service('event_dispatcher')->ignoreOnInvalid(),
|
||||
abstract_arg('workflow name'),
|
||||
abstract_arg('events to dispatch'),
|
||||
])
|
||||
->abstract()
|
||||
->public()
|
||||
->tag('container.private', ['package' => 'symfony/framework-bundle', 'version' => '5.3'])
|
||||
->set('workflow.marking_store.method', MethodMarkingStore::class)
|
||||
->abstract()
|
||||
->set('workflow.registry', Registry::class)
|
||||
->alias(Registry::class, 'workflow.registry')
|
||||
->set('workflow.security.expression_language', ExpressionLanguage::class)
|
||||
;
|
||||
};
|
||||
@@ -1,31 +0,0 @@
|
||||
<?xml version="1.0" ?>
|
||||
|
||||
<container xmlns="http://symfony.com/schema/dic/services"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://symfony.com/schema/dic/services https://symfony.com/schema/dic/services/services-1.0.xsd">
|
||||
|
||||
<services>
|
||||
<defaults public="false" />
|
||||
|
||||
<service id="workflow.abstract" class="Symfony\Component\Workflow\Workflow" abstract="true" public="true">
|
||||
<argument /> <!-- workflow definition -->
|
||||
<argument type="constant">null</argument> <!-- marking store -->
|
||||
<argument type="service" id="event_dispatcher" on-invalid="ignore" />
|
||||
<argument /> <!-- name -->
|
||||
</service>
|
||||
<service id="state_machine.abstract" class="Symfony\Component\Workflow\StateMachine" abstract="true" public="true">
|
||||
<argument /> <!-- workflow definition -->
|
||||
<argument type="constant">null</argument> <!-- marking store -->
|
||||
<argument type="service" id="event_dispatcher" on-invalid="ignore" />
|
||||
<argument /> <!-- name -->
|
||||
</service>
|
||||
|
||||
<service id="workflow.marking_store.multiple_state" class="Symfony\Component\Workflow\MarkingStore\MultipleStateMarkingStore" abstract="true" />
|
||||
<service id="workflow.marking_store.single_state" class="Symfony\Component\Workflow\MarkingStore\SingleStateMarkingStore" abstract="true" />
|
||||
|
||||
<service id="workflow.registry" class="Symfony\Component\Workflow\Registry" />
|
||||
<service id="Symfony\Component\Workflow\Registry" alias="workflow.registry" />
|
||||
|
||||
<service id="workflow.security.expression_language" class="Symfony\Component\Workflow\EventListener\ExpressionLanguage" />
|
||||
</services>
|
||||
</container>
|
||||
Reference in New Issue
Block a user