@mrbryan1502/create-symfony-vue 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/bin/index.js +142 -0
  2. package/package.json +30 -0
  3. package/template/.editorconfig +25 -0
  4. package/template/.env +48 -0
  5. package/template/.env.dev +4 -0
  6. package/template/.env.test +3 -0
  7. package/template/.gitattributes +9 -0
  8. package/template/.prettierignore +46 -0
  9. package/template/.prettierrc +9 -0
  10. package/template/.vscode/extensions.json +17 -0
  11. package/template/.vscode/settings.json +19 -0
  12. package/template/README.md +172 -0
  13. package/template/assets/app.css +3 -0
  14. package/template/assets/main.ts +11 -0
  15. package/template/assets/router/index.ts +13 -0
  16. package/template/assets/src/App.vue +571 -0
  17. package/template/assets/styles/app.css +3 -0
  18. package/template/bin/console +21 -0
  19. package/template/bin/phpunit +4 -0
  20. package/template/compose.override.yaml +18 -0
  21. package/template/compose.yaml +25 -0
  22. package/template/composer.json +122 -0
  23. package/template/composer.lock +10332 -0
  24. package/template/config/bundles.php +16 -0
  25. package/template/config/preload.php +5 -0
  26. package/template/config/reference.php +1696 -0
  27. package/template/config/routes/framework.yaml +4 -0
  28. package/template/config/routes/pentatrion_vite.yaml +9 -0
  29. package/template/config/routes/security.yaml +3 -0
  30. package/template/config/routes/web_profiler.yaml +8 -0
  31. package/template/config/routes.yaml +11 -0
  32. package/template/config/services.yaml +23 -0
  33. package/template/importmap.php +22 -0
  34. package/template/package.json +47 -0
  35. package/template/phpunit.dist.xml +44 -0
  36. package/template/pnpm-lock.yaml +2715 -0
  37. package/template/public/index.php +9 -0
  38. package/template/src/Controller/AppController.php +16 -0
  39. package/template/src/Kernel.php +11 -0
  40. package/template/symfony.lock +319 -0
  41. package/template/templates/app.html.twig +13 -0
  42. package/template/templates/base.html.twig +26 -0
  43. package/template/tests/bootstrap.php +13 -0
  44. package/template/tsconfig.json +17 -0
  45. package/template/vite.config.js +29 -0
@@ -0,0 +1,1696 @@
1
+ <?php
2
+
3
+ // This file is auto-generated and is for apps only. Bundles SHOULD NOT rely on its content.
4
+
5
+ namespace Symfony\Component\DependencyInjection\Loader\Configurator;
6
+
7
+ use Symfony\Component\Config\Loader\ParamConfigurator as Param;
8
+
9
+ /**
10
+ * This class provides array-shapes for configuring the services and bundles of an application.
11
+ *
12
+ * Services declared with the config() method below are autowired and autoconfigured by default.
13
+ *
14
+ * This is for apps only. Bundles SHOULD NOT use it.
15
+ *
16
+ * Example:
17
+ *
18
+ * ```php
19
+ * // config/services.php
20
+ * namespace Symfony\Component\DependencyInjection\Loader\Configurator;
21
+ *
22
+ * return App::config([
23
+ * 'services' => [
24
+ * 'App\\' => [
25
+ * 'resource' => '../src/',
26
+ * ],
27
+ * ],
28
+ * ]);
29
+ * ```
30
+ *
31
+ * @psalm-type ImportsConfig = list<string|array{
32
+ * resource: string,
33
+ * type?: string|null,
34
+ * ignore_errors?: bool,
35
+ * }>
36
+ * @psalm-type ParametersConfig = array<string, scalar|\UnitEnum|array<scalar|\UnitEnum|array<mixed>|Param|null>|Param|null>
37
+ * @psalm-type ArgumentsType = list<mixed>|array<string, mixed>
38
+ * @psalm-type CallType = array<string, ArgumentsType>|array{0:string, 1?:ArgumentsType, 2?:bool}|array{method:string, arguments?:ArgumentsType, returns_clone?:bool}
39
+ * @psalm-type TagsType = list<string|array<string, array<string, mixed>>> // arrays inside the list must have only one element, with the tag name as the key
40
+ * @psalm-type CallbackType = string|array{0:string|ReferenceConfigurator,1:string}|\Closure|ReferenceConfigurator|ExpressionConfigurator
41
+ * @psalm-type DeprecationType = array{package: string, version: string, message?: string}
42
+ * @psalm-type DefaultsType = array{
43
+ * public?: bool,
44
+ * tags?: TagsType,
45
+ * resource_tags?: TagsType,
46
+ * autowire?: bool,
47
+ * autoconfigure?: bool,
48
+ * bind?: array<string, mixed>,
49
+ * }
50
+ * @psalm-type InstanceofType = array{
51
+ * shared?: bool,
52
+ * lazy?: bool|string,
53
+ * public?: bool,
54
+ * properties?: array<string, mixed>,
55
+ * configurator?: CallbackType,
56
+ * calls?: list<CallType>,
57
+ * tags?: TagsType,
58
+ * resource_tags?: TagsType,
59
+ * autowire?: bool,
60
+ * bind?: array<string, mixed>,
61
+ * constructor?: string,
62
+ * }
63
+ * @psalm-type DefinitionType = array{
64
+ * class?: string,
65
+ * file?: string,
66
+ * parent?: string,
67
+ * shared?: bool,
68
+ * synthetic?: bool,
69
+ * lazy?: bool|string,
70
+ * public?: bool,
71
+ * abstract?: bool,
72
+ * deprecated?: DeprecationType,
73
+ * factory?: CallbackType,
74
+ * configurator?: CallbackType,
75
+ * arguments?: ArgumentsType,
76
+ * properties?: array<string, mixed>,
77
+ * calls?: list<CallType>,
78
+ * tags?: TagsType,
79
+ * resource_tags?: TagsType,
80
+ * decorates?: string,
81
+ * decoration_inner_name?: string,
82
+ * decoration_priority?: int,
83
+ * decoration_on_invalid?: 'exception'|'ignore'|null,
84
+ * autowire?: bool,
85
+ * autoconfigure?: bool,
86
+ * bind?: array<string, mixed>,
87
+ * constructor?: string,
88
+ * from_callable?: CallbackType,
89
+ * }
90
+ * @psalm-type AliasType = string|array{
91
+ * alias: string,
92
+ * public?: bool,
93
+ * deprecated?: DeprecationType,
94
+ * }
95
+ * @psalm-type PrototypeType = array{
96
+ * resource: string,
97
+ * namespace?: string,
98
+ * exclude?: string|list<string>,
99
+ * parent?: string,
100
+ * shared?: bool,
101
+ * lazy?: bool|string,
102
+ * public?: bool,
103
+ * abstract?: bool,
104
+ * deprecated?: DeprecationType,
105
+ * factory?: CallbackType,
106
+ * arguments?: ArgumentsType,
107
+ * properties?: array<string, mixed>,
108
+ * configurator?: CallbackType,
109
+ * calls?: list<CallType>,
110
+ * tags?: TagsType,
111
+ * resource_tags?: TagsType,
112
+ * autowire?: bool,
113
+ * autoconfigure?: bool,
114
+ * bind?: array<string, mixed>,
115
+ * constructor?: string,
116
+ * }
117
+ * @psalm-type StackType = array{
118
+ * stack: list<DefinitionType|AliasType|PrototypeType|array<class-string, ArgumentsType|null>>,
119
+ * public?: bool,
120
+ * deprecated?: DeprecationType,
121
+ * }
122
+ * @psalm-type ServicesConfig = array{
123
+ * _defaults?: DefaultsType,
124
+ * _instanceof?: array<class-string, InstanceofType>,
125
+ * ...<string, DefinitionType|AliasType|PrototypeType|StackType|ArgumentsType|null>
126
+ * }
127
+ * @psalm-type ExtensionType = array<string, mixed>
128
+ * @psalm-type FrameworkConfig = array{
129
+ * secret?: scalar|Param|null,
130
+ * http_method_override?: bool|Param, // Set true to enable support for the '_method' request parameter to determine the intended HTTP method on POST requests. // Default: false
131
+ * allowed_http_method_override?: null|list<string|Param>,
132
+ * trust_x_sendfile_type_header?: scalar|Param|null, // Set true to enable support for xsendfile in binary file responses. // Default: "%env(bool:default::SYMFONY_TRUST_X_SENDFILE_TYPE_HEADER)%"
133
+ * ide?: scalar|Param|null, // Default: "%env(default::SYMFONY_IDE)%"
134
+ * test?: bool|Param,
135
+ * default_locale?: scalar|Param|null, // Default: "en"
136
+ * set_locale_from_accept_language?: bool|Param, // Whether to use the Accept-Language HTTP header to set the Request locale (only when the "_locale" request attribute is not passed). // Default: false
137
+ * set_content_language_from_locale?: bool|Param, // Whether to set the Content-Language HTTP header on the Response using the Request locale. // Default: false
138
+ * enabled_locales?: list<scalar|Param|null>,
139
+ * trusted_hosts?: string|list<scalar|Param|null>,
140
+ * trusted_proxies?: mixed, // Default: ["%env(default::SYMFONY_TRUSTED_PROXIES)%"]
141
+ * trusted_headers?: string|list<scalar|Param|null>,
142
+ * error_controller?: scalar|Param|null, // Default: "error_controller"
143
+ * handle_all_throwables?: bool|Param, // HttpKernel will handle all kinds of \Throwable. // Default: true
144
+ * csrf_protection?: bool|array{
145
+ * enabled?: scalar|Param|null, // Default: null
146
+ * stateless_token_ids?: list<scalar|Param|null>,
147
+ * check_header?: scalar|Param|null, // Whether to check the CSRF token in a header in addition to a cookie when using stateless protection. // Default: false
148
+ * cookie_name?: scalar|Param|null, // The name of the cookie to use when using stateless protection. // Default: "csrf-token"
149
+ * },
150
+ * form?: bool|array{ // Form configuration
151
+ * enabled?: bool|Param, // Default: true
152
+ * csrf_protection?: bool|array{
153
+ * enabled?: scalar|Param|null, // Default: null
154
+ * token_id?: scalar|Param|null, // Default: null
155
+ * field_name?: scalar|Param|null, // Default: "_token"
156
+ * field_attr?: array<string, scalar|Param|null>,
157
+ * },
158
+ * },
159
+ * http_cache?: bool|array{ // HTTP cache configuration
160
+ * enabled?: bool|Param, // Default: false
161
+ * debug?: bool|Param, // Default: "%kernel.debug%"
162
+ * trace_level?: "none"|"short"|"full"|Param,
163
+ * trace_header?: scalar|Param|null,
164
+ * default_ttl?: int|Param,
165
+ * private_headers?: list<scalar|Param|null>,
166
+ * skip_response_headers?: list<scalar|Param|null>,
167
+ * allow_reload?: bool|Param,
168
+ * allow_revalidate?: bool|Param,
169
+ * stale_while_revalidate?: int|Param,
170
+ * stale_if_error?: int|Param,
171
+ * terminate_on_cache_hit?: bool|Param,
172
+ * },
173
+ * esi?: bool|array{ // ESI configuration
174
+ * enabled?: bool|Param, // Default: false
175
+ * },
176
+ * ssi?: bool|array{ // SSI configuration
177
+ * enabled?: bool|Param, // Default: false
178
+ * },
179
+ * fragments?: bool|array{ // Fragments configuration
180
+ * enabled?: bool|Param, // Default: false
181
+ * hinclude_default_template?: scalar|Param|null, // Default: null
182
+ * path?: scalar|Param|null, // Default: "/_fragment"
183
+ * },
184
+ * profiler?: bool|array{ // Profiler configuration
185
+ * enabled?: bool|Param, // Default: false
186
+ * collect?: bool|Param, // Default: true
187
+ * collect_parameter?: scalar|Param|null, // The name of the parameter to use to enable or disable collection on a per request basis. // Default: null
188
+ * only_exceptions?: bool|Param, // Default: false
189
+ * only_main_requests?: bool|Param, // Default: false
190
+ * dsn?: scalar|Param|null, // Default: "file:%kernel.cache_dir%/profiler"
191
+ * collect_serializer_data?: bool|Param, // Enables the serializer data collector and profiler panel. // Default: false
192
+ * },
193
+ * workflows?: bool|array{
194
+ * enabled?: bool|Param, // Default: false
195
+ * workflows?: array<string, array{ // Default: []
196
+ * audit_trail?: bool|array{
197
+ * enabled?: bool|Param, // Default: false
198
+ * },
199
+ * type?: "workflow"|"state_machine"|Param, // Default: "state_machine"
200
+ * marking_store?: array{
201
+ * type?: "method"|Param,
202
+ * property?: scalar|Param|null,
203
+ * service?: scalar|Param|null,
204
+ * },
205
+ * supports?: string|list<scalar|Param|null>,
206
+ * definition_validators?: list<scalar|Param|null>,
207
+ * support_strategy?: scalar|Param|null,
208
+ * initial_marking?: \BackedEnum|string|list<scalar|Param|null>,
209
+ * events_to_dispatch?: null|list<string|Param>,
210
+ * places?: string|list<array{ // Default: []
211
+ * name?: scalar|Param|null,
212
+ * metadata?: array<string, mixed>,
213
+ * }>,
214
+ * transitions?: list<array{ // Default: []
215
+ * name?: string|Param,
216
+ * guard?: string|Param, // An expression to block the transition.
217
+ * from?: \BackedEnum|string|list<array{ // Default: []
218
+ * place?: string|Param,
219
+ * weight?: int|Param, // Default: 1
220
+ * }>,
221
+ * to?: \BackedEnum|string|list<array{ // Default: []
222
+ * place?: string|Param,
223
+ * weight?: int|Param, // Default: 1
224
+ * }>,
225
+ * weight?: int|Param, // Default: 1
226
+ * metadata?: array<string, mixed>,
227
+ * }>,
228
+ * metadata?: array<string, mixed>,
229
+ * }>,
230
+ * },
231
+ * router?: bool|array{ // Router configuration
232
+ * enabled?: bool|Param, // Default: false
233
+ * resource?: scalar|Param|null,
234
+ * type?: scalar|Param|null,
235
+ * cache_dir?: scalar|Param|null, // Deprecated: Setting the "framework.router.cache_dir.cache_dir" configuration option is deprecated. It will be removed in version 8.0. // Default: "%kernel.build_dir%"
236
+ * default_uri?: scalar|Param|null, // The default URI used to generate URLs in a non-HTTP context. // Default: null
237
+ * http_port?: scalar|Param|null, // Default: 80
238
+ * https_port?: scalar|Param|null, // Default: 443
239
+ * strict_requirements?: scalar|Param|null, // set to true to throw an exception when a parameter does not match the requirements set to false to disable exceptions when a parameter does not match the requirements (and return null instead) set to null to disable parameter checks against requirements 'true' is the preferred configuration in development mode, while 'false' or 'null' might be preferred in production // Default: true
240
+ * utf8?: bool|Param, // Default: true
241
+ * },
242
+ * session?: bool|array{ // Session configuration
243
+ * enabled?: bool|Param, // Default: false
244
+ * storage_factory_id?: scalar|Param|null, // Default: "session.storage.factory.native"
245
+ * handler_id?: scalar|Param|null, // Defaults to using the native session handler, or to the native *file* session handler if "save_path" is not null.
246
+ * name?: scalar|Param|null,
247
+ * cookie_lifetime?: scalar|Param|null,
248
+ * cookie_path?: scalar|Param|null,
249
+ * cookie_domain?: scalar|Param|null,
250
+ * cookie_secure?: true|false|"auto"|Param, // Default: "auto"
251
+ * cookie_httponly?: bool|Param, // Default: true
252
+ * cookie_samesite?: null|"lax"|"strict"|"none"|Param, // Default: "lax"
253
+ * use_cookies?: bool|Param,
254
+ * gc_divisor?: scalar|Param|null,
255
+ * gc_probability?: scalar|Param|null,
256
+ * gc_maxlifetime?: scalar|Param|null,
257
+ * save_path?: scalar|Param|null, // Defaults to "%kernel.cache_dir%/sessions" if the "handler_id" option is not null.
258
+ * metadata_update_threshold?: int|Param, // Seconds to wait between 2 session metadata updates. // Default: 0
259
+ * sid_length?: int|Param, // Deprecated: Setting the "framework.session.sid_length.sid_length" configuration option is deprecated. It will be removed in version 8.0. No alternative is provided as PHP 8.4 has deprecated the related option.
260
+ * sid_bits_per_character?: int|Param, // Deprecated: Setting the "framework.session.sid_bits_per_character.sid_bits_per_character" configuration option is deprecated. It will be removed in version 8.0. No alternative is provided as PHP 8.4 has deprecated the related option.
261
+ * },
262
+ * request?: bool|array{ // Request configuration
263
+ * enabled?: bool|Param, // Default: false
264
+ * formats?: array<string, string|list<scalar|Param|null>>,
265
+ * },
266
+ * assets?: bool|array{ // Assets configuration
267
+ * enabled?: bool|Param, // Default: true
268
+ * strict_mode?: bool|Param, // Throw an exception if an entry is missing from the manifest.json. // Default: false
269
+ * version_strategy?: scalar|Param|null, // Default: null
270
+ * version?: scalar|Param|null, // Default: null
271
+ * version_format?: scalar|Param|null, // Default: "%%s?%%s"
272
+ * json_manifest_path?: scalar|Param|null, // Default: null
273
+ * base_path?: scalar|Param|null, // Default: ""
274
+ * base_urls?: string|list<scalar|Param|null>,
275
+ * packages?: array<string, array{ // Default: []
276
+ * strict_mode?: bool|Param, // Throw an exception if an entry is missing from the manifest.json. // Default: false
277
+ * version_strategy?: scalar|Param|null, // Default: null
278
+ * version?: scalar|Param|null,
279
+ * version_format?: scalar|Param|null, // Default: null
280
+ * json_manifest_path?: scalar|Param|null, // Default: null
281
+ * base_path?: scalar|Param|null, // Default: ""
282
+ * base_urls?: string|list<scalar|Param|null>,
283
+ * }>,
284
+ * },
285
+ * asset_mapper?: bool|array{ // Asset Mapper configuration
286
+ * enabled?: bool|Param, // Default: true
287
+ * paths?: string|array<string, scalar|Param|null>,
288
+ * excluded_patterns?: list<scalar|Param|null>,
289
+ * exclude_dotfiles?: bool|Param, // If true, any files starting with "." will be excluded from the asset mapper. // Default: true
290
+ * server?: bool|Param, // If true, a "dev server" will return the assets from the public directory (true in "debug" mode only by default). // Default: true
291
+ * public_prefix?: scalar|Param|null, // The public path where the assets will be written to (and served from when "server" is true). // Default: "/assets/"
292
+ * missing_import_mode?: "strict"|"warn"|"ignore"|Param, // Behavior if an asset cannot be found when imported from JavaScript or CSS files - e.g. "import './non-existent.js'". "strict" means an exception is thrown, "warn" means a warning is logged, "ignore" means the import is left as-is. // Default: "warn"
293
+ * extensions?: array<string, scalar|Param|null>,
294
+ * importmap_path?: scalar|Param|null, // The path of the importmap.php file. // Default: "%kernel.project_dir%/importmap.php"
295
+ * importmap_polyfill?: scalar|Param|null, // The importmap name that will be used to load the polyfill. Set to false to disable. // Default: "es-module-shims"
296
+ * importmap_script_attributes?: array<string, scalar|Param|null>,
297
+ * vendor_dir?: scalar|Param|null, // The directory to store JavaScript vendors. // Default: "%kernel.project_dir%/assets/vendor"
298
+ * precompress?: bool|array{ // Precompress assets with Brotli, Zstandard and gzip.
299
+ * enabled?: bool|Param, // Default: false
300
+ * formats?: list<scalar|Param|null>,
301
+ * extensions?: list<scalar|Param|null>,
302
+ * },
303
+ * },
304
+ * translator?: bool|array{ // Translator configuration
305
+ * enabled?: bool|Param, // Default: true
306
+ * fallbacks?: string|list<scalar|Param|null>,
307
+ * logging?: bool|Param, // Default: false
308
+ * formatter?: scalar|Param|null, // Default: "translator.formatter.default"
309
+ * cache_dir?: scalar|Param|null, // Default: "%kernel.cache_dir%/translations"
310
+ * default_path?: scalar|Param|null, // The default path used to load translations. // Default: "%kernel.project_dir%/translations"
311
+ * paths?: list<scalar|Param|null>,
312
+ * pseudo_localization?: bool|array{
313
+ * enabled?: bool|Param, // Default: false
314
+ * accents?: bool|Param, // Default: true
315
+ * expansion_factor?: float|Param, // Default: 1.0
316
+ * brackets?: bool|Param, // Default: true
317
+ * parse_html?: bool|Param, // Default: false
318
+ * localizable_html_attributes?: list<scalar|Param|null>,
319
+ * },
320
+ * providers?: array<string, array{ // Default: []
321
+ * dsn?: scalar|Param|null,
322
+ * domains?: list<scalar|Param|null>,
323
+ * locales?: list<scalar|Param|null>,
324
+ * }>,
325
+ * globals?: array<string, string|array{ // Default: []
326
+ * value?: mixed,
327
+ * message?: string|Param,
328
+ * parameters?: array<string, scalar|Param|null>,
329
+ * domain?: string|Param,
330
+ * }>,
331
+ * },
332
+ * validation?: bool|array{ // Validation configuration
333
+ * enabled?: bool|Param, // Default: true
334
+ * cache?: scalar|Param|null, // Deprecated: Setting the "framework.validation.cache.cache" configuration option is deprecated. It will be removed in version 8.0.
335
+ * enable_attributes?: bool|Param, // Default: true
336
+ * static_method?: string|list<scalar|Param|null>,
337
+ * translation_domain?: scalar|Param|null, // Default: "validators"
338
+ * email_validation_mode?: "html5"|"html5-allow-no-tld"|"strict"|"loose"|Param, // Default: "html5"
339
+ * mapping?: array{
340
+ * paths?: list<scalar|Param|null>,
341
+ * },
342
+ * not_compromised_password?: bool|array{
343
+ * enabled?: bool|Param, // When disabled, compromised passwords will be accepted as valid. // Default: true
344
+ * endpoint?: scalar|Param|null, // API endpoint for the NotCompromisedPassword Validator. // Default: null
345
+ * },
346
+ * disable_translation?: bool|Param, // Default: false
347
+ * auto_mapping?: array<string, array{ // Default: []
348
+ * services?: list<scalar|Param|null>,
349
+ * }>,
350
+ * },
351
+ * annotations?: bool|array{
352
+ * enabled?: bool|Param, // Default: false
353
+ * },
354
+ * serializer?: bool|array{ // Serializer configuration
355
+ * enabled?: bool|Param, // Default: true
356
+ * enable_attributes?: bool|Param, // Default: true
357
+ * name_converter?: scalar|Param|null,
358
+ * circular_reference_handler?: scalar|Param|null,
359
+ * max_depth_handler?: scalar|Param|null,
360
+ * mapping?: array{
361
+ * paths?: list<scalar|Param|null>,
362
+ * },
363
+ * default_context?: array<string, mixed>,
364
+ * named_serializers?: array<string, array{ // Default: []
365
+ * name_converter?: scalar|Param|null,
366
+ * default_context?: array<string, mixed>,
367
+ * include_built_in_normalizers?: bool|Param, // Whether to include the built-in normalizers // Default: true
368
+ * include_built_in_encoders?: bool|Param, // Whether to include the built-in encoders // Default: true
369
+ * }>,
370
+ * },
371
+ * property_access?: bool|array{ // Property access configuration
372
+ * enabled?: bool|Param, // Default: true
373
+ * magic_call?: bool|Param, // Default: false
374
+ * magic_get?: bool|Param, // Default: true
375
+ * magic_set?: bool|Param, // Default: true
376
+ * throw_exception_on_invalid_index?: bool|Param, // Default: false
377
+ * throw_exception_on_invalid_property_path?: bool|Param, // Default: true
378
+ * },
379
+ * type_info?: bool|array{ // Type info configuration
380
+ * enabled?: bool|Param, // Default: true
381
+ * aliases?: array<string, scalar|Param|null>,
382
+ * },
383
+ * property_info?: bool|array{ // Property info configuration
384
+ * enabled?: bool|Param, // Default: true
385
+ * with_constructor_extractor?: bool|Param, // Registers the constructor extractor.
386
+ * },
387
+ * cache?: array{ // Cache configuration
388
+ * prefix_seed?: scalar|Param|null, // Used to namespace cache keys when using several apps with the same shared backend. // Default: "_%kernel.project_dir%.%kernel.container_class%"
389
+ * app?: scalar|Param|null, // App related cache pools configuration. // Default: "cache.adapter.filesystem"
390
+ * system?: scalar|Param|null, // System related cache pools configuration. // Default: "cache.adapter.system"
391
+ * directory?: scalar|Param|null, // Default: "%kernel.share_dir%/pools/app"
392
+ * default_psr6_provider?: scalar|Param|null,
393
+ * default_redis_provider?: scalar|Param|null, // Default: "redis://localhost"
394
+ * default_valkey_provider?: scalar|Param|null, // Default: "valkey://localhost"
395
+ * default_memcached_provider?: scalar|Param|null, // Default: "memcached://localhost"
396
+ * default_doctrine_dbal_provider?: scalar|Param|null, // Default: "database_connection"
397
+ * default_pdo_provider?: scalar|Param|null, // Default: null
398
+ * pools?: array<string, array{ // Default: []
399
+ * adapters?: string|list<scalar|Param|null>,
400
+ * tags?: scalar|Param|null, // Default: null
401
+ * public?: bool|Param, // Default: false
402
+ * default_lifetime?: scalar|Param|null, // Default lifetime of the pool.
403
+ * provider?: scalar|Param|null, // Overwrite the setting from the default provider for this adapter.
404
+ * early_expiration_message_bus?: scalar|Param|null,
405
+ * clearer?: scalar|Param|null,
406
+ * }>,
407
+ * },
408
+ * php_errors?: array{ // PHP errors handling configuration
409
+ * log?: mixed, // Use the application logger instead of the PHP logger for logging PHP errors. // Default: true
410
+ * throw?: bool|Param, // Throw PHP errors as \ErrorException instances. // Default: true
411
+ * },
412
+ * exceptions?: array<string, array{ // Default: []
413
+ * log_level?: scalar|Param|null, // The level of log message. Null to let Symfony decide. // Default: null
414
+ * status_code?: scalar|Param|null, // The status code of the response. Null or 0 to let Symfony decide. // Default: null
415
+ * log_channel?: scalar|Param|null, // The channel of log message. Null to let Symfony decide. // Default: null
416
+ * }>,
417
+ * web_link?: bool|array{ // Web links configuration
418
+ * enabled?: bool|Param, // Default: true
419
+ * },
420
+ * lock?: bool|string|array{ // Lock configuration
421
+ * enabled?: bool|Param, // Default: false
422
+ * resources?: string|array<string, string|list<scalar|Param|null>>,
423
+ * },
424
+ * semaphore?: bool|string|array{ // Semaphore configuration
425
+ * enabled?: bool|Param, // Default: false
426
+ * resources?: string|array<string, scalar|Param|null>,
427
+ * },
428
+ * messenger?: bool|array{ // Messenger configuration
429
+ * enabled?: bool|Param, // Default: true
430
+ * routing?: array<string, string|array{ // Default: []
431
+ * senders?: list<scalar|Param|null>,
432
+ * }>,
433
+ * serializer?: array{
434
+ * default_serializer?: scalar|Param|null, // Service id to use as the default serializer for the transports. // Default: "messenger.transport.native_php_serializer"
435
+ * symfony_serializer?: array{
436
+ * format?: scalar|Param|null, // Serialization format for the messenger.transport.symfony_serializer service (which is not the serializer used by default). // Default: "json"
437
+ * context?: array<string, mixed>,
438
+ * },
439
+ * },
440
+ * transports?: array<string, string|array{ // Default: []
441
+ * dsn?: scalar|Param|null,
442
+ * serializer?: scalar|Param|null, // Service id of a custom serializer to use. // Default: null
443
+ * options?: array<string, mixed>,
444
+ * failure_transport?: scalar|Param|null, // Transport name to send failed messages to (after all retries have failed). // Default: null
445
+ * retry_strategy?: string|array{
446
+ * service?: scalar|Param|null, // Service id to override the retry strategy entirely. // Default: null
447
+ * max_retries?: int|Param, // Default: 3
448
+ * delay?: int|Param, // Time in ms to delay (or the initial value when multiplier is used). // Default: 1000
449
+ * multiplier?: float|Param, // If greater than 1, delay will grow exponentially for each retry: this delay = (delay * (multiple ^ retries)). // Default: 2
450
+ * max_delay?: int|Param, // Max time in ms that a retry should ever be delayed (0 = infinite). // Default: 0
451
+ * jitter?: float|Param, // Randomness to apply to the delay (between 0 and 1). // Default: 0.1
452
+ * },
453
+ * rate_limiter?: scalar|Param|null, // Rate limiter name to use when processing messages. // Default: null
454
+ * }>,
455
+ * failure_transport?: scalar|Param|null, // Transport name to send failed messages to (after all retries have failed). // Default: null
456
+ * stop_worker_on_signals?: int|string|list<scalar|Param|null>,
457
+ * default_bus?: scalar|Param|null, // Default: null
458
+ * buses?: array<string, array{ // Default: {"messenger.bus.default":{"default_middleware":{"enabled":true,"allow_no_handlers":false,"allow_no_senders":true},"middleware":[]}}
459
+ * default_middleware?: bool|string|array{
460
+ * enabled?: bool|Param, // Default: true
461
+ * allow_no_handlers?: bool|Param, // Default: false
462
+ * allow_no_senders?: bool|Param, // Default: true
463
+ * },
464
+ * middleware?: string|list<string|array{ // Default: []
465
+ * id?: scalar|Param|null,
466
+ * arguments?: list<mixed>,
467
+ * }>,
468
+ * }>,
469
+ * },
470
+ * scheduler?: bool|array{ // Scheduler configuration
471
+ * enabled?: bool|Param, // Default: false
472
+ * },
473
+ * disallow_search_engine_index?: bool|Param, // Enabled by default when debug is enabled. // Default: true
474
+ * http_client?: bool|array{ // HTTP Client configuration
475
+ * enabled?: bool|Param, // Default: true
476
+ * max_host_connections?: int|Param, // The maximum number of connections to a single host.
477
+ * default_options?: array{
478
+ * headers?: array<string, mixed>,
479
+ * vars?: array<string, mixed>,
480
+ * max_redirects?: int|Param, // The maximum number of redirects to follow.
481
+ * http_version?: scalar|Param|null, // The default HTTP version, typically 1.1 or 2.0, leave to null for the best version.
482
+ * resolve?: array<string, scalar|Param|null>,
483
+ * proxy?: scalar|Param|null, // The URL of the proxy to pass requests through or null for automatic detection.
484
+ * no_proxy?: scalar|Param|null, // A comma separated list of hosts that do not require a proxy to be reached.
485
+ * timeout?: float|Param, // The idle timeout, defaults to the "default_socket_timeout" ini parameter.
486
+ * max_duration?: float|Param, // The maximum execution time for the request+response as a whole.
487
+ * bindto?: scalar|Param|null, // A network interface name, IP address, a host name or a UNIX socket to bind to.
488
+ * verify_peer?: bool|Param, // Indicates if the peer should be verified in a TLS context.
489
+ * verify_host?: bool|Param, // Indicates if the host should exist as a certificate common name.
490
+ * cafile?: scalar|Param|null, // A certificate authority file.
491
+ * capath?: scalar|Param|null, // A directory that contains multiple certificate authority files.
492
+ * local_cert?: scalar|Param|null, // A PEM formatted certificate file.
493
+ * local_pk?: scalar|Param|null, // A private key file.
494
+ * passphrase?: scalar|Param|null, // The passphrase used to encrypt the "local_pk" file.
495
+ * ciphers?: scalar|Param|null, // A list of TLS ciphers separated by colons, commas or spaces (e.g. "RC3-SHA:TLS13-AES-128-GCM-SHA256"...)
496
+ * peer_fingerprint?: array{ // Associative array: hashing algorithm => hash(es).
497
+ * sha1?: mixed,
498
+ * pin-sha256?: mixed,
499
+ * md5?: mixed,
500
+ * },
501
+ * crypto_method?: scalar|Param|null, // The minimum version of TLS to accept; must be one of STREAM_CRYPTO_METHOD_TLSv*_CLIENT constants.
502
+ * extra?: array<string, mixed>,
503
+ * rate_limiter?: scalar|Param|null, // Rate limiter name to use for throttling requests. // Default: null
504
+ * caching?: bool|array{ // Caching configuration.
505
+ * enabled?: bool|Param, // Default: false
506
+ * cache_pool?: string|Param, // The taggable cache pool to use for storing the responses. // Default: "cache.http_client"
507
+ * shared?: bool|Param, // Indicates whether the cache is shared (public) or private. // Default: true
508
+ * max_ttl?: int|Param, // The maximum TTL (in seconds) allowed for cached responses. Null means no cap. // Default: null
509
+ * },
510
+ * retry_failed?: bool|array{
511
+ * enabled?: bool|Param, // Default: false
512
+ * retry_strategy?: scalar|Param|null, // service id to override the retry strategy. // Default: null
513
+ * http_codes?: int|string|array<string, array{ // Default: []
514
+ * code?: int|Param,
515
+ * methods?: string|list<string|Param>,
516
+ * }>,
517
+ * max_retries?: int|Param, // Default: 3
518
+ * delay?: int|Param, // Time in ms to delay (or the initial value when multiplier is used). // Default: 1000
519
+ * multiplier?: float|Param, // If greater than 1, delay will grow exponentially for each retry: delay * (multiple ^ retries). // Default: 2
520
+ * max_delay?: int|Param, // Max time in ms that a retry should ever be delayed (0 = infinite). // Default: 0
521
+ * jitter?: float|Param, // Randomness in percent (between 0 and 1) to apply to the delay. // Default: 0.1
522
+ * },
523
+ * },
524
+ * mock_response_factory?: scalar|Param|null, // The id of the service that should generate mock responses. It should be either an invokable or an iterable.
525
+ * scoped_clients?: array<string, string|array{ // Default: []
526
+ * scope?: scalar|Param|null, // The regular expression that the request URL must match before adding the other options. When none is provided, the base URI is used instead.
527
+ * base_uri?: scalar|Param|null, // The URI to resolve relative URLs, following rules in RFC 3985, section 2.
528
+ * auth_basic?: scalar|Param|null, // An HTTP Basic authentication "username:password".
529
+ * auth_bearer?: scalar|Param|null, // A token enabling HTTP Bearer authorization.
530
+ * auth_ntlm?: scalar|Param|null, // A "username:password" pair to use Microsoft NTLM authentication (requires the cURL extension).
531
+ * query?: array<string, scalar|Param|null>,
532
+ * headers?: array<string, mixed>,
533
+ * max_redirects?: int|Param, // The maximum number of redirects to follow.
534
+ * http_version?: scalar|Param|null, // The default HTTP version, typically 1.1 or 2.0, leave to null for the best version.
535
+ * resolve?: array<string, scalar|Param|null>,
536
+ * proxy?: scalar|Param|null, // The URL of the proxy to pass requests through or null for automatic detection.
537
+ * no_proxy?: scalar|Param|null, // A comma separated list of hosts that do not require a proxy to be reached.
538
+ * timeout?: float|Param, // The idle timeout, defaults to the "default_socket_timeout" ini parameter.
539
+ * max_duration?: float|Param, // The maximum execution time for the request+response as a whole.
540
+ * bindto?: scalar|Param|null, // A network interface name, IP address, a host name or a UNIX socket to bind to.
541
+ * verify_peer?: bool|Param, // Indicates if the peer should be verified in a TLS context.
542
+ * verify_host?: bool|Param, // Indicates if the host should exist as a certificate common name.
543
+ * cafile?: scalar|Param|null, // A certificate authority file.
544
+ * capath?: scalar|Param|null, // A directory that contains multiple certificate authority files.
545
+ * local_cert?: scalar|Param|null, // A PEM formatted certificate file.
546
+ * local_pk?: scalar|Param|null, // A private key file.
547
+ * passphrase?: scalar|Param|null, // The passphrase used to encrypt the "local_pk" file.
548
+ * ciphers?: scalar|Param|null, // A list of TLS ciphers separated by colons, commas or spaces (e.g. "RC3-SHA:TLS13-AES-128-GCM-SHA256"...).
549
+ * peer_fingerprint?: array{ // Associative array: hashing algorithm => hash(es).
550
+ * sha1?: mixed,
551
+ * pin-sha256?: mixed,
552
+ * md5?: mixed,
553
+ * },
554
+ * crypto_method?: scalar|Param|null, // The minimum version of TLS to accept; must be one of STREAM_CRYPTO_METHOD_TLSv*_CLIENT constants.
555
+ * extra?: array<string, mixed>,
556
+ * rate_limiter?: scalar|Param|null, // Rate limiter name to use for throttling requests. // Default: null
557
+ * caching?: bool|array{ // Caching configuration.
558
+ * enabled?: bool|Param, // Default: false
559
+ * cache_pool?: string|Param, // The taggable cache pool to use for storing the responses. // Default: "cache.http_client"
560
+ * shared?: bool|Param, // Indicates whether the cache is shared (public) or private. // Default: true
561
+ * max_ttl?: int|Param, // The maximum TTL (in seconds) allowed for cached responses. Null means no cap. // Default: null
562
+ * },
563
+ * retry_failed?: bool|array{
564
+ * enabled?: bool|Param, // Default: false
565
+ * retry_strategy?: scalar|Param|null, // service id to override the retry strategy. // Default: null
566
+ * http_codes?: int|string|array<string, array{ // Default: []
567
+ * code?: int|Param,
568
+ * methods?: string|list<string|Param>,
569
+ * }>,
570
+ * max_retries?: int|Param, // Default: 3
571
+ * delay?: int|Param, // Time in ms to delay (or the initial value when multiplier is used). // Default: 1000
572
+ * multiplier?: float|Param, // If greater than 1, delay will grow exponentially for each retry: delay * (multiple ^ retries). // Default: 2
573
+ * max_delay?: int|Param, // Max time in ms that a retry should ever be delayed (0 = infinite). // Default: 0
574
+ * jitter?: float|Param, // Randomness in percent (between 0 and 1) to apply to the delay. // Default: 0.1
575
+ * },
576
+ * }>,
577
+ * },
578
+ * mailer?: bool|array{ // Mailer configuration
579
+ * enabled?: bool|Param, // Default: true
580
+ * message_bus?: scalar|Param|null, // The message bus to use. Defaults to the default bus if the Messenger component is installed. // Default: null
581
+ * dsn?: scalar|Param|null, // Default: null
582
+ * transports?: array<string, scalar|Param|null>,
583
+ * envelope?: array{ // Mailer Envelope configuration
584
+ * sender?: scalar|Param|null,
585
+ * recipients?: string|list<scalar|Param|null>,
586
+ * allowed_recipients?: string|list<scalar|Param|null>,
587
+ * },
588
+ * headers?: array<string, string|array{ // Default: []
589
+ * value?: mixed,
590
+ * }>,
591
+ * dkim_signer?: bool|array{ // DKIM signer configuration
592
+ * enabled?: bool|Param, // Default: false
593
+ * key?: scalar|Param|null, // Key content, or path to key (in PEM format with the `file://` prefix) // Default: ""
594
+ * domain?: scalar|Param|null, // Default: ""
595
+ * select?: scalar|Param|null, // Default: ""
596
+ * passphrase?: scalar|Param|null, // The private key passphrase // Default: ""
597
+ * options?: array<string, mixed>,
598
+ * },
599
+ * smime_signer?: bool|array{ // S/MIME signer configuration
600
+ * enabled?: bool|Param, // Default: false
601
+ * key?: scalar|Param|null, // Path to key (in PEM format) // Default: ""
602
+ * certificate?: scalar|Param|null, // Path to certificate (in PEM format without the `file://` prefix) // Default: ""
603
+ * passphrase?: scalar|Param|null, // The private key passphrase // Default: null
604
+ * extra_certificates?: scalar|Param|null, // Default: null
605
+ * sign_options?: int|Param, // Default: null
606
+ * },
607
+ * smime_encrypter?: bool|array{ // S/MIME encrypter configuration
608
+ * enabled?: bool|Param, // Default: false
609
+ * repository?: scalar|Param|null, // S/MIME certificate repository service. This service shall implement the `Symfony\Component\Mailer\EventListener\SmimeCertificateRepositoryInterface`. // Default: ""
610
+ * cipher?: int|Param, // A set of algorithms used to encrypt the message // Default: null
611
+ * },
612
+ * },
613
+ * secrets?: bool|array{
614
+ * enabled?: bool|Param, // Default: true
615
+ * vault_directory?: scalar|Param|null, // Default: "%kernel.project_dir%/config/secrets/%kernel.runtime_environment%"
616
+ * local_dotenv_file?: scalar|Param|null, // Default: "%kernel.project_dir%/.env.%kernel.environment%.local"
617
+ * decryption_env_var?: scalar|Param|null, // Default: "base64:default::SYMFONY_DECRYPTION_SECRET"
618
+ * },
619
+ * notifier?: bool|array{ // Notifier configuration
620
+ * enabled?: bool|Param, // Default: true
621
+ * message_bus?: scalar|Param|null, // The message bus to use. Defaults to the default bus if the Messenger component is installed. // Default: null
622
+ * chatter_transports?: array<string, scalar|Param|null>,
623
+ * texter_transports?: array<string, scalar|Param|null>,
624
+ * notification_on_failed_messages?: bool|Param, // Default: false
625
+ * channel_policy?: array<string, string|list<scalar|Param|null>>,
626
+ * admin_recipients?: list<array{ // Default: []
627
+ * email?: scalar|Param|null,
628
+ * phone?: scalar|Param|null, // Default: ""
629
+ * }>,
630
+ * },
631
+ * rate_limiter?: bool|array{ // Rate limiter configuration
632
+ * enabled?: bool|Param, // Default: false
633
+ * limiters?: array<string, array{ // Default: []
634
+ * lock_factory?: scalar|Param|null, // The service ID of the lock factory used by this limiter (or null to disable locking). // Default: "auto"
635
+ * cache_pool?: scalar|Param|null, // The cache pool to use for storing the current limiter state. // Default: "cache.rate_limiter"
636
+ * storage_service?: scalar|Param|null, // The service ID of a custom storage implementation, this precedes any configured "cache_pool". // Default: null
637
+ * policy?: "fixed_window"|"token_bucket"|"sliding_window"|"compound"|"no_limit"|Param, // The algorithm to be used by this limiter.
638
+ * limiters?: string|list<scalar|Param|null>,
639
+ * limit?: int|Param, // The maximum allowed hits in a fixed interval or burst.
640
+ * interval?: scalar|Param|null, // Configures the fixed interval if "policy" is set to "fixed_window" or "sliding_window". The value must be a number followed by "second", "minute", "hour", "day", "week" or "month" (or their plural equivalent).
641
+ * rate?: array{ // Configures the fill rate if "policy" is set to "token_bucket".
642
+ * interval?: scalar|Param|null, // Configures the rate interval. The value must be a number followed by "second", "minute", "hour", "day", "week" or "month" (or their plural equivalent).
643
+ * amount?: int|Param, // Amount of tokens to add each interval. // Default: 1
644
+ * },
645
+ * }>,
646
+ * },
647
+ * uid?: bool|array{ // Uid configuration
648
+ * enabled?: bool|Param, // Default: false
649
+ * default_uuid_version?: 7|6|4|1|Param, // Default: 7
650
+ * name_based_uuid_version?: 5|3|Param, // Default: 5
651
+ * name_based_uuid_namespace?: scalar|Param|null,
652
+ * time_based_uuid_version?: 7|6|1|Param, // Default: 7
653
+ * time_based_uuid_node?: scalar|Param|null,
654
+ * },
655
+ * html_sanitizer?: bool|array{ // HtmlSanitizer configuration
656
+ * enabled?: bool|Param, // Default: false
657
+ * sanitizers?: array<string, array{ // Default: []
658
+ * allow_safe_elements?: bool|Param, // Allows "safe" elements and attributes. // Default: false
659
+ * allow_static_elements?: bool|Param, // Allows all static elements and attributes from the W3C Sanitizer API standard. // Default: false
660
+ * allow_elements?: array<string, mixed>,
661
+ * block_elements?: string|list<string|Param>,
662
+ * drop_elements?: string|list<string|Param>,
663
+ * allow_attributes?: array<string, mixed>,
664
+ * drop_attributes?: array<string, mixed>,
665
+ * force_attributes?: array<string, array<string, string|Param>>,
666
+ * force_https_urls?: bool|Param, // Transforms URLs using the HTTP scheme to use the HTTPS scheme instead. // Default: false
667
+ * allowed_link_schemes?: string|list<string|Param>,
668
+ * allowed_link_hosts?: null|string|list<string|Param>,
669
+ * allow_relative_links?: bool|Param, // Allows relative URLs to be used in links href attributes. // Default: false
670
+ * allowed_media_schemes?: string|list<string|Param>,
671
+ * allowed_media_hosts?: null|string|list<string|Param>,
672
+ * allow_relative_medias?: bool|Param, // Allows relative URLs to be used in media source attributes (img, audio, video, ...). // Default: false
673
+ * with_attribute_sanitizers?: string|list<string|Param>,
674
+ * without_attribute_sanitizers?: string|list<string|Param>,
675
+ * max_input_length?: int|Param, // The maximum length allowed for the sanitized input. // Default: 0
676
+ * }>,
677
+ * },
678
+ * webhook?: bool|array{ // Webhook configuration
679
+ * enabled?: bool|Param, // Default: false
680
+ * message_bus?: scalar|Param|null, // The message bus to use. // Default: "messenger.default_bus"
681
+ * routing?: array<string, array{ // Default: []
682
+ * service?: scalar|Param|null,
683
+ * secret?: scalar|Param|null, // Default: ""
684
+ * }>,
685
+ * },
686
+ * remote-event?: bool|array{ // RemoteEvent configuration
687
+ * enabled?: bool|Param, // Default: false
688
+ * },
689
+ * json_streamer?: bool|array{ // JSON streamer configuration
690
+ * enabled?: bool|Param, // Default: false
691
+ * },
692
+ * }
693
+ * @psalm-type DoctrineConfig = array{
694
+ * dbal?: array{
695
+ * default_connection?: scalar|Param|null,
696
+ * types?: array<string, string|array{ // Default: []
697
+ * class?: scalar|Param|null,
698
+ * commented?: bool|Param, // Deprecated: The doctrine-bundle type commenting features were removed; the corresponding config parameter was deprecated in 2.0 and will be dropped in 3.0.
699
+ * }>,
700
+ * driver_schemes?: array<string, scalar|Param|null>,
701
+ * connections?: array<string, array{ // Default: []
702
+ * url?: scalar|Param|null, // A URL with connection information; any parameter value parsed from this string will override explicitly set parameters
703
+ * dbname?: scalar|Param|null,
704
+ * host?: scalar|Param|null, // Defaults to "localhost" at runtime.
705
+ * port?: scalar|Param|null, // Defaults to null at runtime.
706
+ * user?: scalar|Param|null, // Defaults to "root" at runtime.
707
+ * password?: scalar|Param|null, // Defaults to null at runtime.
708
+ * override_url?: bool|Param, // Deprecated: The "doctrine.dbal.override_url" configuration key is deprecated.
709
+ * dbname_suffix?: scalar|Param|null, // Adds the given suffix to the configured database name, this option has no effects for the SQLite platform
710
+ * application_name?: scalar|Param|null,
711
+ * charset?: scalar|Param|null,
712
+ * path?: scalar|Param|null,
713
+ * memory?: bool|Param,
714
+ * unix_socket?: scalar|Param|null, // The unix socket to use for MySQL
715
+ * persistent?: bool|Param, // True to use as persistent connection for the ibm_db2 driver
716
+ * protocol?: scalar|Param|null, // The protocol to use for the ibm_db2 driver (default to TCPIP if omitted)
717
+ * service?: bool|Param, // True to use SERVICE_NAME as connection parameter instead of SID for Oracle
718
+ * servicename?: scalar|Param|null, // Overrules dbname parameter if given and used as SERVICE_NAME or SID connection parameter for Oracle depending on the service parameter.
719
+ * sessionMode?: scalar|Param|null, // The session mode to use for the oci8 driver
720
+ * server?: scalar|Param|null, // The name of a running database server to connect to for SQL Anywhere.
721
+ * default_dbname?: scalar|Param|null, // Override the default database (postgres) to connect to for PostgreSQL connection.
722
+ * sslmode?: scalar|Param|null, // Determines whether or with what priority a SSL TCP/IP connection will be negotiated with the server for PostgreSQL.
723
+ * sslrootcert?: scalar|Param|null, // The name of a file containing SSL certificate authority (CA) certificate(s). If the file exists, the server's certificate will be verified to be signed by one of these authorities.
724
+ * sslcert?: scalar|Param|null, // The path to the SSL client certificate file for PostgreSQL.
725
+ * sslkey?: scalar|Param|null, // The path to the SSL client key file for PostgreSQL.
726
+ * sslcrl?: scalar|Param|null, // The file name of the SSL certificate revocation list for PostgreSQL.
727
+ * pooled?: bool|Param, // True to use a pooled server with the oci8/pdo_oracle driver
728
+ * MultipleActiveResultSets?: bool|Param, // Configuring MultipleActiveResultSets for the pdo_sqlsrv driver
729
+ * use_savepoints?: bool|Param, // Use savepoints for nested transactions
730
+ * instancename?: scalar|Param|null, // Optional parameter, complete whether to add the INSTANCE_NAME parameter in the connection. It is generally used to connect to an Oracle RAC server to select the name of a particular instance.
731
+ * connectstring?: scalar|Param|null, // Complete Easy Connect connection descriptor, see https://docs.oracle.com/database/121/NETAG/naming.htm.When using this option, you will still need to provide the user and password parameters, but the other parameters will no longer be used. Note that when using this parameter, the getHost and getPort methods from Doctrine\DBAL\Connection will no longer function as expected.
732
+ * driver?: scalar|Param|null, // Default: "pdo_mysql"
733
+ * platform_service?: scalar|Param|null, // Deprecated: The "platform_service" configuration key is deprecated since doctrine-bundle 2.9. DBAL 4 will not support setting a custom platform via connection params anymore.
734
+ * auto_commit?: bool|Param,
735
+ * schema_filter?: scalar|Param|null,
736
+ * logging?: bool|Param, // Default: true
737
+ * profiling?: bool|Param, // Default: true
738
+ * profiling_collect_backtrace?: bool|Param, // Enables collecting backtraces when profiling is enabled // Default: false
739
+ * profiling_collect_schema_errors?: bool|Param, // Enables collecting schema errors when profiling is enabled // Default: true
740
+ * disable_type_comments?: bool|Param,
741
+ * server_version?: scalar|Param|null,
742
+ * idle_connection_ttl?: int|Param, // Default: 600
743
+ * driver_class?: scalar|Param|null,
744
+ * wrapper_class?: scalar|Param|null,
745
+ * keep_slave?: bool|Param, // Deprecated: The "keep_slave" configuration key is deprecated since doctrine-bundle 2.2. Use the "keep_replica" configuration key instead.
746
+ * keep_replica?: bool|Param,
747
+ * options?: array<string, mixed>,
748
+ * mapping_types?: array<string, scalar|Param|null>,
749
+ * default_table_options?: array<string, scalar|Param|null>,
750
+ * schema_manager_factory?: scalar|Param|null, // Default: "doctrine.dbal.default_schema_manager_factory"
751
+ * result_cache?: scalar|Param|null,
752
+ * slaves?: array<string, array{ // Default: []
753
+ * url?: scalar|Param|null, // A URL with connection information; any parameter value parsed from this string will override explicitly set parameters
754
+ * dbname?: scalar|Param|null,
755
+ * host?: scalar|Param|null, // Defaults to "localhost" at runtime.
756
+ * port?: scalar|Param|null, // Defaults to null at runtime.
757
+ * user?: scalar|Param|null, // Defaults to "root" at runtime.
758
+ * password?: scalar|Param|null, // Defaults to null at runtime.
759
+ * override_url?: bool|Param, // Deprecated: The "doctrine.dbal.override_url" configuration key is deprecated.
760
+ * dbname_suffix?: scalar|Param|null, // Adds the given suffix to the configured database name, this option has no effects for the SQLite platform
761
+ * application_name?: scalar|Param|null,
762
+ * charset?: scalar|Param|null,
763
+ * path?: scalar|Param|null,
764
+ * memory?: bool|Param,
765
+ * unix_socket?: scalar|Param|null, // The unix socket to use for MySQL
766
+ * persistent?: bool|Param, // True to use as persistent connection for the ibm_db2 driver
767
+ * protocol?: scalar|Param|null, // The protocol to use for the ibm_db2 driver (default to TCPIP if omitted)
768
+ * service?: bool|Param, // True to use SERVICE_NAME as connection parameter instead of SID for Oracle
769
+ * servicename?: scalar|Param|null, // Overrules dbname parameter if given and used as SERVICE_NAME or SID connection parameter for Oracle depending on the service parameter.
770
+ * sessionMode?: scalar|Param|null, // The session mode to use for the oci8 driver
771
+ * server?: scalar|Param|null, // The name of a running database server to connect to for SQL Anywhere.
772
+ * default_dbname?: scalar|Param|null, // Override the default database (postgres) to connect to for PostgreSQL connection.
773
+ * sslmode?: scalar|Param|null, // Determines whether or with what priority a SSL TCP/IP connection will be negotiated with the server for PostgreSQL.
774
+ * sslrootcert?: scalar|Param|null, // The name of a file containing SSL certificate authority (CA) certificate(s). If the file exists, the server's certificate will be verified to be signed by one of these authorities.
775
+ * sslcert?: scalar|Param|null, // The path to the SSL client certificate file for PostgreSQL.
776
+ * sslkey?: scalar|Param|null, // The path to the SSL client key file for PostgreSQL.
777
+ * sslcrl?: scalar|Param|null, // The file name of the SSL certificate revocation list for PostgreSQL.
778
+ * pooled?: bool|Param, // True to use a pooled server with the oci8/pdo_oracle driver
779
+ * MultipleActiveResultSets?: bool|Param, // Configuring MultipleActiveResultSets for the pdo_sqlsrv driver
780
+ * use_savepoints?: bool|Param, // Use savepoints for nested transactions
781
+ * instancename?: scalar|Param|null, // Optional parameter, complete whether to add the INSTANCE_NAME parameter in the connection. It is generally used to connect to an Oracle RAC server to select the name of a particular instance.
782
+ * connectstring?: scalar|Param|null, // Complete Easy Connect connection descriptor, see https://docs.oracle.com/database/121/NETAG/naming.htm.When using this option, you will still need to provide the user and password parameters, but the other parameters will no longer be used. Note that when using this parameter, the getHost and getPort methods from Doctrine\DBAL\Connection will no longer function as expected.
783
+ * }>,
784
+ * replicas?: array<string, array{ // Default: []
785
+ * url?: scalar|Param|null, // A URL with connection information; any parameter value parsed from this string will override explicitly set parameters
786
+ * dbname?: scalar|Param|null,
787
+ * host?: scalar|Param|null, // Defaults to "localhost" at runtime.
788
+ * port?: scalar|Param|null, // Defaults to null at runtime.
789
+ * user?: scalar|Param|null, // Defaults to "root" at runtime.
790
+ * password?: scalar|Param|null, // Defaults to null at runtime.
791
+ * override_url?: bool|Param, // Deprecated: The "doctrine.dbal.override_url" configuration key is deprecated.
792
+ * dbname_suffix?: scalar|Param|null, // Adds the given suffix to the configured database name, this option has no effects for the SQLite platform
793
+ * application_name?: scalar|Param|null,
794
+ * charset?: scalar|Param|null,
795
+ * path?: scalar|Param|null,
796
+ * memory?: bool|Param,
797
+ * unix_socket?: scalar|Param|null, // The unix socket to use for MySQL
798
+ * persistent?: bool|Param, // True to use as persistent connection for the ibm_db2 driver
799
+ * protocol?: scalar|Param|null, // The protocol to use for the ibm_db2 driver (default to TCPIP if omitted)
800
+ * service?: bool|Param, // True to use SERVICE_NAME as connection parameter instead of SID for Oracle
801
+ * servicename?: scalar|Param|null, // Overrules dbname parameter if given and used as SERVICE_NAME or SID connection parameter for Oracle depending on the service parameter.
802
+ * sessionMode?: scalar|Param|null, // The session mode to use for the oci8 driver
803
+ * server?: scalar|Param|null, // The name of a running database server to connect to for SQL Anywhere.
804
+ * default_dbname?: scalar|Param|null, // Override the default database (postgres) to connect to for PostgreSQL connection.
805
+ * sslmode?: scalar|Param|null, // Determines whether or with what priority a SSL TCP/IP connection will be negotiated with the server for PostgreSQL.
806
+ * sslrootcert?: scalar|Param|null, // The name of a file containing SSL certificate authority (CA) certificate(s). If the file exists, the server's certificate will be verified to be signed by one of these authorities.
807
+ * sslcert?: scalar|Param|null, // The path to the SSL client certificate file for PostgreSQL.
808
+ * sslkey?: scalar|Param|null, // The path to the SSL client key file for PostgreSQL.
809
+ * sslcrl?: scalar|Param|null, // The file name of the SSL certificate revocation list for PostgreSQL.
810
+ * pooled?: bool|Param, // True to use a pooled server with the oci8/pdo_oracle driver
811
+ * MultipleActiveResultSets?: bool|Param, // Configuring MultipleActiveResultSets for the pdo_sqlsrv driver
812
+ * use_savepoints?: bool|Param, // Use savepoints for nested transactions
813
+ * instancename?: scalar|Param|null, // Optional parameter, complete whether to add the INSTANCE_NAME parameter in the connection. It is generally used to connect to an Oracle RAC server to select the name of a particular instance.
814
+ * connectstring?: scalar|Param|null, // Complete Easy Connect connection descriptor, see https://docs.oracle.com/database/121/NETAG/naming.htm.When using this option, you will still need to provide the user and password parameters, but the other parameters will no longer be used. Note that when using this parameter, the getHost and getPort methods from Doctrine\DBAL\Connection will no longer function as expected.
815
+ * }>,
816
+ * }>,
817
+ * },
818
+ * orm?: array{
819
+ * default_entity_manager?: scalar|Param|null,
820
+ * auto_generate_proxy_classes?: scalar|Param|null, // Auto generate mode possible values are: "NEVER", "ALWAYS", "FILE_NOT_EXISTS", "EVAL", "FILE_NOT_EXISTS_OR_CHANGED", this option is ignored when the "enable_native_lazy_objects" option is true // Default: false
821
+ * enable_lazy_ghost_objects?: bool|Param, // Enables the new implementation of proxies based on lazy ghosts instead of using the legacy implementation // Default: true
822
+ * enable_native_lazy_objects?: bool|Param, // Enables the new native implementation of PHP lazy objects instead of generated proxies // Default: false
823
+ * proxy_dir?: scalar|Param|null, // Configures the path where generated proxy classes are saved when using non-native lazy objects, this option is ignored when the "enable_native_lazy_objects" option is true // Default: "%kernel.build_dir%/doctrine/orm/Proxies"
824
+ * proxy_namespace?: scalar|Param|null, // Defines the root namespace for generated proxy classes when using non-native lazy objects, this option is ignored when the "enable_native_lazy_objects" option is true // Default: "Proxies"
825
+ * controller_resolver?: bool|array{
826
+ * enabled?: bool|Param, // Default: true
827
+ * auto_mapping?: bool|Param|null, // Set to false to disable using route placeholders as lookup criteria when the primary key doesn't match the argument name // Default: null
828
+ * evict_cache?: bool|Param, // Set to true to fetch the entity from the database instead of using the cache, if any // Default: false
829
+ * },
830
+ * entity_managers?: array<string, array{ // Default: []
831
+ * query_cache_driver?: string|array{
832
+ * type?: scalar|Param|null, // Default: null
833
+ * id?: scalar|Param|null,
834
+ * pool?: scalar|Param|null,
835
+ * },
836
+ * metadata_cache_driver?: string|array{
837
+ * type?: scalar|Param|null, // Default: null
838
+ * id?: scalar|Param|null,
839
+ * pool?: scalar|Param|null,
840
+ * },
841
+ * result_cache_driver?: string|array{
842
+ * type?: scalar|Param|null, // Default: null
843
+ * id?: scalar|Param|null,
844
+ * pool?: scalar|Param|null,
845
+ * },
846
+ * entity_listeners?: array{
847
+ * entities?: array<string, array{ // Default: []
848
+ * listeners?: array<string, array{ // Default: []
849
+ * events?: list<array{ // Default: []
850
+ * type?: scalar|Param|null,
851
+ * method?: scalar|Param|null, // Default: null
852
+ * }>,
853
+ * }>,
854
+ * }>,
855
+ * },
856
+ * connection?: scalar|Param|null,
857
+ * class_metadata_factory_name?: scalar|Param|null, // Default: "Doctrine\\ORM\\Mapping\\ClassMetadataFactory"
858
+ * default_repository_class?: scalar|Param|null, // Default: "Doctrine\\ORM\\EntityRepository"
859
+ * auto_mapping?: scalar|Param|null, // Default: false
860
+ * naming_strategy?: scalar|Param|null, // Default: "doctrine.orm.naming_strategy.default"
861
+ * quote_strategy?: scalar|Param|null, // Default: "doctrine.orm.quote_strategy.default"
862
+ * typed_field_mapper?: scalar|Param|null, // Default: "doctrine.orm.typed_field_mapper.default"
863
+ * entity_listener_resolver?: scalar|Param|null, // Default: null
864
+ * fetch_mode_subselect_batch_size?: scalar|Param|null,
865
+ * repository_factory?: scalar|Param|null, // Default: "doctrine.orm.container_repository_factory"
866
+ * schema_ignore_classes?: list<scalar|Param|null>,
867
+ * report_fields_where_declared?: bool|Param, // Set to "true" to opt-in to the new mapping driver mode that was added in Doctrine ORM 2.16 and will be mandatory in ORM 3.0. See https://github.com/doctrine/orm/pull/10455. // Default: true
868
+ * validate_xml_mapping?: bool|Param, // Set to "true" to opt-in to the new mapping driver mode that was added in Doctrine ORM 2.14. See https://github.com/doctrine/orm/pull/6728. // Default: false
869
+ * second_level_cache?: array{
870
+ * region_cache_driver?: string|array{
871
+ * type?: scalar|Param|null, // Default: null
872
+ * id?: scalar|Param|null,
873
+ * pool?: scalar|Param|null,
874
+ * },
875
+ * region_lock_lifetime?: scalar|Param|null, // Default: 60
876
+ * log_enabled?: bool|Param, // Default: true
877
+ * region_lifetime?: scalar|Param|null, // Default: 3600
878
+ * enabled?: bool|Param, // Default: true
879
+ * factory?: scalar|Param|null,
880
+ * regions?: array<string, array{ // Default: []
881
+ * cache_driver?: string|array{
882
+ * type?: scalar|Param|null, // Default: null
883
+ * id?: scalar|Param|null,
884
+ * pool?: scalar|Param|null,
885
+ * },
886
+ * lock_path?: scalar|Param|null, // Default: "%kernel.cache_dir%/doctrine/orm/slc/filelock"
887
+ * lock_lifetime?: scalar|Param|null, // Default: 60
888
+ * type?: scalar|Param|null, // Default: "default"
889
+ * lifetime?: scalar|Param|null, // Default: 0
890
+ * service?: scalar|Param|null,
891
+ * name?: scalar|Param|null,
892
+ * }>,
893
+ * loggers?: array<string, array{ // Default: []
894
+ * name?: scalar|Param|null,
895
+ * service?: scalar|Param|null,
896
+ * }>,
897
+ * },
898
+ * hydrators?: array<string, scalar|Param|null>,
899
+ * mappings?: array<string, bool|string|array{ // Default: []
900
+ * mapping?: scalar|Param|null, // Default: true
901
+ * type?: scalar|Param|null,
902
+ * dir?: scalar|Param|null,
903
+ * alias?: scalar|Param|null,
904
+ * prefix?: scalar|Param|null,
905
+ * is_bundle?: bool|Param,
906
+ * }>,
907
+ * dql?: array{
908
+ * string_functions?: array<string, scalar|Param|null>,
909
+ * numeric_functions?: array<string, scalar|Param|null>,
910
+ * datetime_functions?: array<string, scalar|Param|null>,
911
+ * },
912
+ * filters?: array<string, string|array{ // Default: []
913
+ * class?: scalar|Param|null,
914
+ * enabled?: bool|Param, // Default: false
915
+ * parameters?: array<string, mixed>,
916
+ * }>,
917
+ * identity_generation_preferences?: array<string, scalar|Param|null>,
918
+ * }>,
919
+ * resolve_target_entities?: array<string, scalar|Param|null>,
920
+ * },
921
+ * }
922
+ * @psalm-type DoctrineMigrationsConfig = array{
923
+ * enable_service_migrations?: bool|Param, // Whether to enable fetching migrations from the service container. // Default: false
924
+ * migrations_paths?: array<string, scalar|Param|null>,
925
+ * services?: array<string, scalar|Param|null>,
926
+ * factories?: array<string, scalar|Param|null>,
927
+ * storage?: array{ // Storage to use for migration status metadata.
928
+ * table_storage?: array{ // The default metadata storage, implemented as a table in the database.
929
+ * table_name?: scalar|Param|null, // Default: null
930
+ * version_column_name?: scalar|Param|null, // Default: null
931
+ * version_column_length?: scalar|Param|null, // Default: null
932
+ * executed_at_column_name?: scalar|Param|null, // Default: null
933
+ * execution_time_column_name?: scalar|Param|null, // Default: null
934
+ * },
935
+ * },
936
+ * migrations?: list<scalar|Param|null>,
937
+ * connection?: scalar|Param|null, // Connection name to use for the migrations database. // Default: null
938
+ * em?: scalar|Param|null, // Entity manager name to use for the migrations database (available when doctrine/orm is installed). // Default: null
939
+ * all_or_nothing?: scalar|Param|null, // Run all migrations in a transaction. // Default: false
940
+ * check_database_platform?: scalar|Param|null, // Adds an extra check in the generated migrations to allow execution only on the same platform as they were initially generated on. // Default: true
941
+ * custom_template?: scalar|Param|null, // Custom template path for generated migration classes. // Default: null
942
+ * organize_migrations?: scalar|Param|null, // Organize migrations mode. Possible values are: "BY_YEAR", "BY_YEAR_AND_MONTH", false // Default: false
943
+ * enable_profiler?: bool|Param, // Whether or not to enable the profiler collector to calculate and visualize migration status. This adds some queries overhead. // Default: false
944
+ * transactional?: bool|Param, // Whether or not to wrap migrations in a single transaction. // Default: true
945
+ * }
946
+ * @psalm-type DebugConfig = array{
947
+ * max_items?: int|Param, // Max number of displayed items past the first level, -1 means no limit. // Default: 2500
948
+ * min_depth?: int|Param, // Minimum tree depth to clone all the items, 1 is default. // Default: 1
949
+ * max_string_length?: int|Param, // Max length of displayed strings, -1 means no limit. // Default: -1
950
+ * dump_destination?: scalar|Param|null, // A stream URL where dumps should be written to. // Default: null
951
+ * theme?: "dark"|"light"|Param, // Changes the color of the dump() output when rendered directly on the templating. "dark" (default) or "light". // Default: "dark"
952
+ * }
953
+ * @psalm-type TwigConfig = array{
954
+ * form_themes?: list<scalar|Param|null>,
955
+ * globals?: array<string, array{ // Default: []
956
+ * id?: scalar|Param|null,
957
+ * type?: scalar|Param|null,
958
+ * value?: mixed,
959
+ * }>,
960
+ * autoescape_service?: scalar|Param|null, // Default: null
961
+ * autoescape_service_method?: scalar|Param|null, // Default: null
962
+ * base_template_class?: scalar|Param|null, // Deprecated: The child node "base_template_class" at path "twig.base_template_class" is deprecated.
963
+ * cache?: scalar|Param|null, // Default: true
964
+ * charset?: scalar|Param|null, // Default: "%kernel.charset%"
965
+ * debug?: bool|Param, // Default: "%kernel.debug%"
966
+ * strict_variables?: bool|Param, // Default: "%kernel.debug%"
967
+ * auto_reload?: scalar|Param|null,
968
+ * optimizations?: int|Param,
969
+ * default_path?: scalar|Param|null, // The default path used to load templates. // Default: "%kernel.project_dir%/templates"
970
+ * file_name_pattern?: string|list<scalar|Param|null>,
971
+ * paths?: array<string, mixed>,
972
+ * date?: array{ // The default format options used by the date filter.
973
+ * format?: scalar|Param|null, // Default: "F j, Y H:i"
974
+ * interval_format?: scalar|Param|null, // Default: "%d days"
975
+ * timezone?: scalar|Param|null, // The timezone used when formatting dates, when set to null, the timezone returned by date_default_timezone_get() is used. // Default: null
976
+ * },
977
+ * number_format?: array{ // The default format options for the number_format filter.
978
+ * decimals?: int|Param, // Default: 0
979
+ * decimal_point?: scalar|Param|null, // Default: "."
980
+ * thousands_separator?: scalar|Param|null, // Default: ","
981
+ * },
982
+ * mailer?: array{
983
+ * html_to_text_converter?: scalar|Param|null, // A service implementing the "Symfony\Component\Mime\HtmlToTextConverter\HtmlToTextConverterInterface". // Default: null
984
+ * },
985
+ * }
986
+ * @psalm-type WebProfilerConfig = array{
987
+ * toolbar?: bool|array{ // Profiler toolbar configuration
988
+ * enabled?: bool|Param, // Default: false
989
+ * ajax_replace?: bool|Param, // Replace toolbar on AJAX requests // Default: false
990
+ * },
991
+ * intercept_redirects?: bool|Param, // Default: false
992
+ * excluded_ajax_paths?: scalar|Param|null, // Default: "^/((index|app(_[\\w]+)?)\\.php/)?_wdt"
993
+ * }
994
+ * @psalm-type TurboConfig = array{
995
+ * broadcast?: bool|array{
996
+ * enabled?: bool|Param, // Default: true
997
+ * entity_template_prefixes?: list<scalar|Param|null>,
998
+ * doctrine_orm?: bool|array{ // Enable the Doctrine ORM integration
999
+ * enabled?: bool|Param, // Default: true
1000
+ * },
1001
+ * },
1002
+ * default_transport?: scalar|Param|null, // Default: "default"
1003
+ * }
1004
+ * @psalm-type TwigExtraConfig = array{
1005
+ * cache?: bool|array{
1006
+ * enabled?: bool|Param, // Default: false
1007
+ * },
1008
+ * html?: bool|array{
1009
+ * enabled?: bool|Param, // Default: false
1010
+ * },
1011
+ * markdown?: bool|array{
1012
+ * enabled?: bool|Param, // Default: false
1013
+ * },
1014
+ * intl?: bool|array{
1015
+ * enabled?: bool|Param, // Default: false
1016
+ * },
1017
+ * cssinliner?: bool|array{
1018
+ * enabled?: bool|Param, // Default: false
1019
+ * },
1020
+ * inky?: bool|array{
1021
+ * enabled?: bool|Param, // Default: false
1022
+ * },
1023
+ * string?: bool|array{
1024
+ * enabled?: bool|Param, // Default: false
1025
+ * },
1026
+ * commonmark?: array{
1027
+ * renderer?: array{ // Array of options for rendering HTML.
1028
+ * block_separator?: scalar|Param|null,
1029
+ * inner_separator?: scalar|Param|null,
1030
+ * soft_break?: scalar|Param|null,
1031
+ * },
1032
+ * html_input?: "strip"|"allow"|"escape"|Param, // How to handle HTML input.
1033
+ * allow_unsafe_links?: bool|Param, // Remove risky link and image URLs by setting this to false. // Default: true
1034
+ * max_nesting_level?: int|Param, // The maximum nesting level for blocks. // Default: 9223372036854775807
1035
+ * max_delimiters_per_line?: int|Param, // The maximum number of strong/emphasis delimiters per line. // Default: 9223372036854775807
1036
+ * slug_normalizer?: array{ // Array of options for configuring how URL-safe slugs are created.
1037
+ * instance?: mixed,
1038
+ * max_length?: int|Param, // Default: 255
1039
+ * unique?: mixed,
1040
+ * },
1041
+ * commonmark?: array{ // Array of options for configuring the CommonMark core extension.
1042
+ * enable_em?: bool|Param, // Default: true
1043
+ * enable_strong?: bool|Param, // Default: true
1044
+ * use_asterisk?: bool|Param, // Default: true
1045
+ * use_underscore?: bool|Param, // Default: true
1046
+ * unordered_list_markers?: list<scalar|Param|null>,
1047
+ * },
1048
+ * ...<string, mixed>
1049
+ * },
1050
+ * }
1051
+ * @psalm-type SecurityConfig = array{
1052
+ * access_denied_url?: scalar|Param|null, // Default: null
1053
+ * session_fixation_strategy?: "none"|"migrate"|"invalidate"|Param, // Default: "migrate"
1054
+ * hide_user_not_found?: bool|Param, // Deprecated: The "hide_user_not_found" option is deprecated and will be removed in 8.0. Use the "expose_security_errors" option instead.
1055
+ * expose_security_errors?: \Symfony\Component\Security\Http\Authentication\ExposeSecurityLevel::None|\Symfony\Component\Security\Http\Authentication\ExposeSecurityLevel::AccountStatus|\Symfony\Component\Security\Http\Authentication\ExposeSecurityLevel::All|Param, // Default: "none"
1056
+ * erase_credentials?: bool|Param, // Default: true
1057
+ * access_decision_manager?: array{
1058
+ * strategy?: "affirmative"|"consensus"|"unanimous"|"priority"|Param,
1059
+ * service?: scalar|Param|null,
1060
+ * strategy_service?: scalar|Param|null,
1061
+ * allow_if_all_abstain?: bool|Param, // Default: false
1062
+ * allow_if_equal_granted_denied?: bool|Param, // Default: true
1063
+ * },
1064
+ * password_hashers?: array<string, string|array{ // Default: []
1065
+ * algorithm?: scalar|Param|null,
1066
+ * migrate_from?: string|list<scalar|Param|null>,
1067
+ * hash_algorithm?: scalar|Param|null, // Name of hashing algorithm for PBKDF2 (i.e. sha256, sha512, etc..) See hash_algos() for a list of supported algorithms. // Default: "sha512"
1068
+ * key_length?: scalar|Param|null, // Default: 40
1069
+ * ignore_case?: bool|Param, // Default: false
1070
+ * encode_as_base64?: bool|Param, // Default: true
1071
+ * iterations?: scalar|Param|null, // Default: 5000
1072
+ * cost?: int|Param, // Default: null
1073
+ * memory_cost?: scalar|Param|null, // Default: null
1074
+ * time_cost?: scalar|Param|null, // Default: null
1075
+ * id?: scalar|Param|null,
1076
+ * }>,
1077
+ * providers?: array<string, array{ // Default: []
1078
+ * id?: scalar|Param|null,
1079
+ * chain?: array{
1080
+ * providers?: string|list<scalar|Param|null>,
1081
+ * },
1082
+ * entity?: array{
1083
+ * class?: scalar|Param|null, // The full entity class name of your user class.
1084
+ * property?: scalar|Param|null, // Default: null
1085
+ * manager_name?: scalar|Param|null, // Default: null
1086
+ * },
1087
+ * memory?: array{
1088
+ * users?: array<string, array{ // Default: []
1089
+ * password?: scalar|Param|null, // Default: null
1090
+ * roles?: string|list<scalar|Param|null>,
1091
+ * }>,
1092
+ * },
1093
+ * ldap?: array{
1094
+ * service?: scalar|Param|null,
1095
+ * base_dn?: scalar|Param|null,
1096
+ * search_dn?: scalar|Param|null, // Default: null
1097
+ * search_password?: scalar|Param|null, // Default: null
1098
+ * extra_fields?: list<scalar|Param|null>,
1099
+ * default_roles?: string|list<scalar|Param|null>,
1100
+ * role_fetcher?: scalar|Param|null, // Default: null
1101
+ * uid_key?: scalar|Param|null, // Default: "sAMAccountName"
1102
+ * filter?: scalar|Param|null, // Default: "({uid_key}={user_identifier})"
1103
+ * password_attribute?: scalar|Param|null, // Default: null
1104
+ * },
1105
+ * }>,
1106
+ * firewalls?: array<string, array{ // Default: []
1107
+ * pattern?: scalar|Param|null,
1108
+ * host?: scalar|Param|null,
1109
+ * methods?: string|list<scalar|Param|null>,
1110
+ * security?: bool|Param, // Default: true
1111
+ * user_checker?: scalar|Param|null, // The UserChecker to use when authenticating users in this firewall. // Default: "security.user_checker"
1112
+ * request_matcher?: scalar|Param|null,
1113
+ * access_denied_url?: scalar|Param|null,
1114
+ * access_denied_handler?: scalar|Param|null,
1115
+ * entry_point?: scalar|Param|null, // An enabled authenticator name or a service id that implements "Symfony\Component\Security\Http\EntryPoint\AuthenticationEntryPointInterface".
1116
+ * provider?: scalar|Param|null,
1117
+ * stateless?: bool|Param, // Default: false
1118
+ * lazy?: bool|Param, // Default: false
1119
+ * context?: scalar|Param|null,
1120
+ * logout?: array{
1121
+ * enable_csrf?: bool|Param|null, // Default: null
1122
+ * csrf_token_id?: scalar|Param|null, // Default: "logout"
1123
+ * csrf_parameter?: scalar|Param|null, // Default: "_csrf_token"
1124
+ * csrf_token_manager?: scalar|Param|null,
1125
+ * path?: scalar|Param|null, // Default: "/logout"
1126
+ * target?: scalar|Param|null, // Default: "/"
1127
+ * invalidate_session?: bool|Param, // Default: true
1128
+ * clear_site_data?: string|list<"*"|"cache"|"cookies"|"storage"|"executionContexts"|Param>,
1129
+ * delete_cookies?: string|array<string, array{ // Default: []
1130
+ * path?: scalar|Param|null, // Default: null
1131
+ * domain?: scalar|Param|null, // Default: null
1132
+ * secure?: scalar|Param|null, // Default: false
1133
+ * samesite?: scalar|Param|null, // Default: null
1134
+ * partitioned?: scalar|Param|null, // Default: false
1135
+ * }>,
1136
+ * },
1137
+ * switch_user?: array{
1138
+ * provider?: scalar|Param|null,
1139
+ * parameter?: scalar|Param|null, // Default: "_switch_user"
1140
+ * role?: scalar|Param|null, // Default: "ROLE_ALLOWED_TO_SWITCH"
1141
+ * target_route?: scalar|Param|null, // Default: null
1142
+ * },
1143
+ * required_badges?: list<scalar|Param|null>,
1144
+ * custom_authenticators?: list<scalar|Param|null>,
1145
+ * login_throttling?: array{
1146
+ * limiter?: scalar|Param|null, // A service id implementing "Symfony\Component\HttpFoundation\RateLimiter\RequestRateLimiterInterface".
1147
+ * max_attempts?: int|Param, // Default: 5
1148
+ * interval?: scalar|Param|null, // Default: "1 minute"
1149
+ * lock_factory?: scalar|Param|null, // The service ID of the lock factory used by the login rate limiter (or null to disable locking). // Default: null
1150
+ * cache_pool?: string|Param, // The cache pool to use for storing the limiter state // Default: "cache.rate_limiter"
1151
+ * storage_service?: string|Param, // The service ID of a custom storage implementation, this precedes any configured "cache_pool" // Default: null
1152
+ * },
1153
+ * x509?: array{
1154
+ * provider?: scalar|Param|null,
1155
+ * user?: scalar|Param|null, // Default: "SSL_CLIENT_S_DN_Email"
1156
+ * credentials?: scalar|Param|null, // Default: "SSL_CLIENT_S_DN"
1157
+ * user_identifier?: scalar|Param|null, // Default: "emailAddress"
1158
+ * },
1159
+ * remote_user?: array{
1160
+ * provider?: scalar|Param|null,
1161
+ * user?: scalar|Param|null, // Default: "REMOTE_USER"
1162
+ * },
1163
+ * login_link?: array{
1164
+ * check_route?: scalar|Param|null, // Route that will validate the login link - e.g. "app_login_link_verify".
1165
+ * check_post_only?: scalar|Param|null, // If true, only HTTP POST requests to "check_route" will be handled by the authenticator. // Default: false
1166
+ * signature_properties?: list<scalar|Param|null>,
1167
+ * lifetime?: int|Param, // The lifetime of the login link in seconds. // Default: 600
1168
+ * max_uses?: int|Param, // Max number of times a login link can be used - null means unlimited within lifetime. // Default: null
1169
+ * used_link_cache?: scalar|Param|null, // Cache service id used to expired links of max_uses is set.
1170
+ * success_handler?: scalar|Param|null, // A service id that implements Symfony\Component\Security\Http\Authentication\AuthenticationSuccessHandlerInterface.
1171
+ * failure_handler?: scalar|Param|null, // A service id that implements Symfony\Component\Security\Http\Authentication\AuthenticationFailureHandlerInterface.
1172
+ * provider?: scalar|Param|null, // The user provider to load users from.
1173
+ * secret?: scalar|Param|null, // Default: "%kernel.secret%"
1174
+ * always_use_default_target_path?: bool|Param, // Default: false
1175
+ * default_target_path?: scalar|Param|null, // Default: "/"
1176
+ * login_path?: scalar|Param|null, // Default: "/login"
1177
+ * target_path_parameter?: scalar|Param|null, // Default: "_target_path"
1178
+ * use_referer?: bool|Param, // Default: false
1179
+ * failure_path?: scalar|Param|null, // Default: null
1180
+ * failure_forward?: bool|Param, // Default: false
1181
+ * failure_path_parameter?: scalar|Param|null, // Default: "_failure_path"
1182
+ * },
1183
+ * form_login?: array{
1184
+ * provider?: scalar|Param|null,
1185
+ * remember_me?: bool|Param, // Default: true
1186
+ * success_handler?: scalar|Param|null,
1187
+ * failure_handler?: scalar|Param|null,
1188
+ * check_path?: scalar|Param|null, // Default: "/login_check"
1189
+ * use_forward?: bool|Param, // Default: false
1190
+ * login_path?: scalar|Param|null, // Default: "/login"
1191
+ * username_parameter?: scalar|Param|null, // Default: "_username"
1192
+ * password_parameter?: scalar|Param|null, // Default: "_password"
1193
+ * csrf_parameter?: scalar|Param|null, // Default: "_csrf_token"
1194
+ * csrf_token_id?: scalar|Param|null, // Default: "authenticate"
1195
+ * enable_csrf?: bool|Param, // Default: false
1196
+ * post_only?: bool|Param, // Default: true
1197
+ * form_only?: bool|Param, // Default: false
1198
+ * always_use_default_target_path?: bool|Param, // Default: false
1199
+ * default_target_path?: scalar|Param|null, // Default: "/"
1200
+ * target_path_parameter?: scalar|Param|null, // Default: "_target_path"
1201
+ * use_referer?: bool|Param, // Default: false
1202
+ * failure_path?: scalar|Param|null, // Default: null
1203
+ * failure_forward?: bool|Param, // Default: false
1204
+ * failure_path_parameter?: scalar|Param|null, // Default: "_failure_path"
1205
+ * },
1206
+ * form_login_ldap?: array{
1207
+ * provider?: scalar|Param|null,
1208
+ * remember_me?: bool|Param, // Default: true
1209
+ * success_handler?: scalar|Param|null,
1210
+ * failure_handler?: scalar|Param|null,
1211
+ * check_path?: scalar|Param|null, // Default: "/login_check"
1212
+ * use_forward?: bool|Param, // Default: false
1213
+ * login_path?: scalar|Param|null, // Default: "/login"
1214
+ * username_parameter?: scalar|Param|null, // Default: "_username"
1215
+ * password_parameter?: scalar|Param|null, // Default: "_password"
1216
+ * csrf_parameter?: scalar|Param|null, // Default: "_csrf_token"
1217
+ * csrf_token_id?: scalar|Param|null, // Default: "authenticate"
1218
+ * enable_csrf?: bool|Param, // Default: false
1219
+ * post_only?: bool|Param, // Default: true
1220
+ * form_only?: bool|Param, // Default: false
1221
+ * always_use_default_target_path?: bool|Param, // Default: false
1222
+ * default_target_path?: scalar|Param|null, // Default: "/"
1223
+ * target_path_parameter?: scalar|Param|null, // Default: "_target_path"
1224
+ * use_referer?: bool|Param, // Default: false
1225
+ * failure_path?: scalar|Param|null, // Default: null
1226
+ * failure_forward?: bool|Param, // Default: false
1227
+ * failure_path_parameter?: scalar|Param|null, // Default: "_failure_path"
1228
+ * service?: scalar|Param|null, // Default: "ldap"
1229
+ * dn_string?: scalar|Param|null, // Default: "{user_identifier}"
1230
+ * query_string?: scalar|Param|null,
1231
+ * search_dn?: scalar|Param|null, // Default: ""
1232
+ * search_password?: scalar|Param|null, // Default: ""
1233
+ * },
1234
+ * json_login?: array{
1235
+ * provider?: scalar|Param|null,
1236
+ * remember_me?: bool|Param, // Default: true
1237
+ * success_handler?: scalar|Param|null,
1238
+ * failure_handler?: scalar|Param|null,
1239
+ * check_path?: scalar|Param|null, // Default: "/login_check"
1240
+ * use_forward?: bool|Param, // Default: false
1241
+ * login_path?: scalar|Param|null, // Default: "/login"
1242
+ * username_path?: scalar|Param|null, // Default: "username"
1243
+ * password_path?: scalar|Param|null, // Default: "password"
1244
+ * },
1245
+ * json_login_ldap?: array{
1246
+ * provider?: scalar|Param|null,
1247
+ * remember_me?: bool|Param, // Default: true
1248
+ * success_handler?: scalar|Param|null,
1249
+ * failure_handler?: scalar|Param|null,
1250
+ * check_path?: scalar|Param|null, // Default: "/login_check"
1251
+ * use_forward?: bool|Param, // Default: false
1252
+ * login_path?: scalar|Param|null, // Default: "/login"
1253
+ * username_path?: scalar|Param|null, // Default: "username"
1254
+ * password_path?: scalar|Param|null, // Default: "password"
1255
+ * service?: scalar|Param|null, // Default: "ldap"
1256
+ * dn_string?: scalar|Param|null, // Default: "{user_identifier}"
1257
+ * query_string?: scalar|Param|null,
1258
+ * search_dn?: scalar|Param|null, // Default: ""
1259
+ * search_password?: scalar|Param|null, // Default: ""
1260
+ * },
1261
+ * access_token?: array{
1262
+ * provider?: scalar|Param|null,
1263
+ * remember_me?: bool|Param, // Default: true
1264
+ * success_handler?: scalar|Param|null,
1265
+ * failure_handler?: scalar|Param|null,
1266
+ * realm?: scalar|Param|null, // Default: null
1267
+ * token_extractors?: string|list<scalar|Param|null>,
1268
+ * token_handler?: string|array{
1269
+ * id?: scalar|Param|null,
1270
+ * oidc_user_info?: string|array{
1271
+ * base_uri?: scalar|Param|null, // Base URI of the userinfo endpoint on the OIDC server, or the OIDC server URI to use the discovery (require "discovery" to be configured).
1272
+ * discovery?: array{ // Enable the OIDC discovery.
1273
+ * cache?: array{
1274
+ * id?: scalar|Param|null, // Cache service id to use to cache the OIDC discovery configuration.
1275
+ * },
1276
+ * },
1277
+ * claim?: scalar|Param|null, // Claim which contains the user identifier (e.g. sub, email, etc.). // Default: "sub"
1278
+ * client?: scalar|Param|null, // HttpClient service id to use to call the OIDC server.
1279
+ * },
1280
+ * oidc?: array{
1281
+ * discovery?: array{ // Enable the OIDC discovery.
1282
+ * base_uri?: string|list<scalar|Param|null>,
1283
+ * cache?: array{
1284
+ * id?: scalar|Param|null, // Cache service id to use to cache the OIDC discovery configuration.
1285
+ * },
1286
+ * },
1287
+ * claim?: scalar|Param|null, // Claim which contains the user identifier (e.g.: sub, email..). // Default: "sub"
1288
+ * audience?: scalar|Param|null, // Audience set in the token, for validation purpose.
1289
+ * issuers?: list<scalar|Param|null>,
1290
+ * algorithm?: array<mixed>,
1291
+ * algorithms?: list<scalar|Param|null>,
1292
+ * key?: scalar|Param|null, // Deprecated: The "key" option is deprecated and will be removed in 8.0. Use the "keyset" option instead. // JSON-encoded JWK used to sign the token (must contain a "kty" key).
1293
+ * keyset?: scalar|Param|null, // JSON-encoded JWKSet used to sign the token (must contain a list of valid public keys).
1294
+ * encryption?: bool|array{
1295
+ * enabled?: bool|Param, // Default: false
1296
+ * enforce?: bool|Param, // When enabled, the token shall be encrypted. // Default: false
1297
+ * algorithms?: list<scalar|Param|null>,
1298
+ * keyset?: scalar|Param|null, // JSON-encoded JWKSet used to decrypt the token (must contain a list of valid private keys).
1299
+ * },
1300
+ * },
1301
+ * cas?: array{
1302
+ * validation_url?: scalar|Param|null, // CAS server validation URL
1303
+ * prefix?: scalar|Param|null, // CAS prefix // Default: "cas"
1304
+ * http_client?: scalar|Param|null, // HTTP Client service // Default: null
1305
+ * },
1306
+ * oauth2?: scalar|Param|null,
1307
+ * },
1308
+ * },
1309
+ * http_basic?: array{
1310
+ * provider?: scalar|Param|null,
1311
+ * realm?: scalar|Param|null, // Default: "Secured Area"
1312
+ * },
1313
+ * http_basic_ldap?: array{
1314
+ * provider?: scalar|Param|null,
1315
+ * realm?: scalar|Param|null, // Default: "Secured Area"
1316
+ * service?: scalar|Param|null, // Default: "ldap"
1317
+ * dn_string?: scalar|Param|null, // Default: "{user_identifier}"
1318
+ * query_string?: scalar|Param|null,
1319
+ * search_dn?: scalar|Param|null, // Default: ""
1320
+ * search_password?: scalar|Param|null, // Default: ""
1321
+ * },
1322
+ * remember_me?: array{
1323
+ * secret?: scalar|Param|null, // Default: "%kernel.secret%"
1324
+ * service?: scalar|Param|null,
1325
+ * user_providers?: string|list<scalar|Param|null>,
1326
+ * catch_exceptions?: bool|Param, // Default: true
1327
+ * signature_properties?: list<scalar|Param|null>,
1328
+ * token_provider?: string|array{
1329
+ * service?: scalar|Param|null, // The service ID of a custom remember-me token provider.
1330
+ * doctrine?: bool|array{
1331
+ * enabled?: bool|Param, // Default: false
1332
+ * connection?: scalar|Param|null, // Default: null
1333
+ * },
1334
+ * },
1335
+ * token_verifier?: scalar|Param|null, // The service ID of a custom rememberme token verifier.
1336
+ * name?: scalar|Param|null, // Default: "REMEMBERME"
1337
+ * lifetime?: int|Param, // Default: 31536000
1338
+ * path?: scalar|Param|null, // Default: "/"
1339
+ * domain?: scalar|Param|null, // Default: null
1340
+ * secure?: true|false|"auto"|Param, // Default: false
1341
+ * httponly?: bool|Param, // Default: true
1342
+ * samesite?: null|"lax"|"strict"|"none"|Param, // Default: null
1343
+ * always_remember_me?: bool|Param, // Default: false
1344
+ * remember_me_parameter?: scalar|Param|null, // Default: "_remember_me"
1345
+ * },
1346
+ * }>,
1347
+ * access_control?: list<array{ // Default: []
1348
+ * request_matcher?: scalar|Param|null, // Default: null
1349
+ * requires_channel?: scalar|Param|null, // Default: null
1350
+ * path?: scalar|Param|null, // Use the urldecoded format. // Default: null
1351
+ * host?: scalar|Param|null, // Default: null
1352
+ * port?: int|Param, // Default: null
1353
+ * ips?: string|list<scalar|Param|null>,
1354
+ * attributes?: array<string, scalar|Param|null>,
1355
+ * route?: scalar|Param|null, // Default: null
1356
+ * methods?: string|list<scalar|Param|null>,
1357
+ * allow_if?: scalar|Param|null, // Default: null
1358
+ * roles?: string|list<scalar|Param|null>,
1359
+ * }>,
1360
+ * role_hierarchy?: array<string, string|list<scalar|Param|null>>,
1361
+ * }
1362
+ * @psalm-type MonologConfig = array{
1363
+ * use_microseconds?: scalar|Param|null, // Default: true
1364
+ * channels?: list<scalar|Param|null>,
1365
+ * handlers?: array<string, array{ // Default: []
1366
+ * type?: scalar|Param|null,
1367
+ * id?: scalar|Param|null,
1368
+ * enabled?: bool|Param, // Default: true
1369
+ * priority?: scalar|Param|null, // Default: 0
1370
+ * level?: scalar|Param|null, // Default: "DEBUG"
1371
+ * bubble?: bool|Param, // Default: true
1372
+ * interactive_only?: bool|Param, // Default: false
1373
+ * app_name?: scalar|Param|null, // Default: null
1374
+ * include_stacktraces?: bool|Param, // Default: false
1375
+ * process_psr_3_messages?: array{
1376
+ * enabled?: bool|Param|null, // Default: null
1377
+ * date_format?: scalar|Param|null,
1378
+ * remove_used_context_fields?: bool|Param,
1379
+ * },
1380
+ * path?: scalar|Param|null, // Default: "%kernel.logs_dir%/%kernel.environment%.log"
1381
+ * file_permission?: scalar|Param|null, // Default: null
1382
+ * use_locking?: bool|Param, // Default: false
1383
+ * filename_format?: scalar|Param|null, // Default: "{filename}-{date}"
1384
+ * date_format?: scalar|Param|null, // Default: "Y-m-d"
1385
+ * ident?: scalar|Param|null, // Default: false
1386
+ * logopts?: scalar|Param|null, // Default: 1
1387
+ * facility?: scalar|Param|null, // Default: "user"
1388
+ * max_files?: scalar|Param|null, // Default: 0
1389
+ * action_level?: scalar|Param|null, // Default: "WARNING"
1390
+ * activation_strategy?: scalar|Param|null, // Default: null
1391
+ * stop_buffering?: bool|Param, // Default: true
1392
+ * passthru_level?: scalar|Param|null, // Default: null
1393
+ * excluded_http_codes?: list<array{ // Default: []
1394
+ * code?: scalar|Param|null,
1395
+ * urls?: list<scalar|Param|null>,
1396
+ * }>,
1397
+ * accepted_levels?: list<scalar|Param|null>,
1398
+ * min_level?: scalar|Param|null, // Default: "DEBUG"
1399
+ * max_level?: scalar|Param|null, // Default: "EMERGENCY"
1400
+ * buffer_size?: scalar|Param|null, // Default: 0
1401
+ * flush_on_overflow?: bool|Param, // Default: false
1402
+ * handler?: scalar|Param|null,
1403
+ * url?: scalar|Param|null,
1404
+ * exchange?: scalar|Param|null,
1405
+ * exchange_name?: scalar|Param|null, // Default: "log"
1406
+ * channel?: scalar|Param|null, // Default: null
1407
+ * bot_name?: scalar|Param|null, // Default: "Monolog"
1408
+ * use_attachment?: scalar|Param|null, // Default: true
1409
+ * use_short_attachment?: scalar|Param|null, // Default: false
1410
+ * include_extra?: scalar|Param|null, // Default: false
1411
+ * icon_emoji?: scalar|Param|null, // Default: null
1412
+ * webhook_url?: scalar|Param|null,
1413
+ * exclude_fields?: list<scalar|Param|null>,
1414
+ * token?: scalar|Param|null,
1415
+ * region?: scalar|Param|null,
1416
+ * source?: scalar|Param|null,
1417
+ * use_ssl?: bool|Param, // Default: true
1418
+ * user?: mixed,
1419
+ * title?: scalar|Param|null, // Default: null
1420
+ * host?: scalar|Param|null, // Default: null
1421
+ * port?: scalar|Param|null, // Default: 514
1422
+ * config?: list<scalar|Param|null>,
1423
+ * members?: list<scalar|Param|null>,
1424
+ * connection_string?: scalar|Param|null,
1425
+ * timeout?: scalar|Param|null,
1426
+ * time?: scalar|Param|null, // Default: 60
1427
+ * deduplication_level?: scalar|Param|null, // Default: 400
1428
+ * store?: scalar|Param|null, // Default: null
1429
+ * connection_timeout?: scalar|Param|null,
1430
+ * persistent?: bool|Param,
1431
+ * message_type?: scalar|Param|null, // Default: 0
1432
+ * parse_mode?: scalar|Param|null, // Default: null
1433
+ * disable_webpage_preview?: bool|Param|null, // Default: null
1434
+ * disable_notification?: bool|Param|null, // Default: null
1435
+ * split_long_messages?: bool|Param, // Default: false
1436
+ * delay_between_messages?: bool|Param, // Default: false
1437
+ * topic?: int|Param, // Default: null
1438
+ * factor?: int|Param, // Default: 1
1439
+ * tags?: string|list<scalar|Param|null>,
1440
+ * console_formatter_options?: mixed, // Default: []
1441
+ * formatter?: scalar|Param|null,
1442
+ * nested?: bool|Param, // Default: false
1443
+ * publisher?: string|array{
1444
+ * id?: scalar|Param|null,
1445
+ * hostname?: scalar|Param|null,
1446
+ * port?: scalar|Param|null, // Default: 12201
1447
+ * chunk_size?: scalar|Param|null, // Default: 1420
1448
+ * encoder?: "json"|"compressed_json"|Param,
1449
+ * },
1450
+ * mongodb?: string|array{
1451
+ * id?: scalar|Param|null, // ID of a MongoDB\Client service
1452
+ * uri?: scalar|Param|null,
1453
+ * username?: scalar|Param|null,
1454
+ * password?: scalar|Param|null,
1455
+ * database?: scalar|Param|null, // Default: "monolog"
1456
+ * collection?: scalar|Param|null, // Default: "logs"
1457
+ * },
1458
+ * elasticsearch?: string|array{
1459
+ * id?: scalar|Param|null,
1460
+ * hosts?: list<scalar|Param|null>,
1461
+ * host?: scalar|Param|null,
1462
+ * port?: scalar|Param|null, // Default: 9200
1463
+ * transport?: scalar|Param|null, // Default: "Http"
1464
+ * user?: scalar|Param|null, // Default: null
1465
+ * password?: scalar|Param|null, // Default: null
1466
+ * },
1467
+ * index?: scalar|Param|null, // Default: "monolog"
1468
+ * document_type?: scalar|Param|null, // Default: "logs"
1469
+ * ignore_error?: scalar|Param|null, // Default: false
1470
+ * redis?: string|array{
1471
+ * id?: scalar|Param|null,
1472
+ * host?: scalar|Param|null,
1473
+ * password?: scalar|Param|null, // Default: null
1474
+ * port?: scalar|Param|null, // Default: 6379
1475
+ * database?: scalar|Param|null, // Default: 0
1476
+ * key_name?: scalar|Param|null, // Default: "monolog_redis"
1477
+ * },
1478
+ * predis?: string|array{
1479
+ * id?: scalar|Param|null,
1480
+ * host?: scalar|Param|null,
1481
+ * },
1482
+ * from_email?: scalar|Param|null,
1483
+ * to_email?: string|list<scalar|Param|null>,
1484
+ * subject?: scalar|Param|null,
1485
+ * content_type?: scalar|Param|null, // Default: null
1486
+ * headers?: list<scalar|Param|null>,
1487
+ * mailer?: scalar|Param|null, // Default: null
1488
+ * email_prototype?: string|array{
1489
+ * id?: scalar|Param|null,
1490
+ * method?: scalar|Param|null, // Default: null
1491
+ * },
1492
+ * verbosity_levels?: array{
1493
+ * VERBOSITY_QUIET?: scalar|Param|null, // Default: "ERROR"
1494
+ * VERBOSITY_NORMAL?: scalar|Param|null, // Default: "WARNING"
1495
+ * VERBOSITY_VERBOSE?: scalar|Param|null, // Default: "NOTICE"
1496
+ * VERBOSITY_VERY_VERBOSE?: scalar|Param|null, // Default: "INFO"
1497
+ * VERBOSITY_DEBUG?: scalar|Param|null, // Default: "DEBUG"
1498
+ * },
1499
+ * channels?: string|array{
1500
+ * type?: scalar|Param|null,
1501
+ * elements?: list<scalar|Param|null>,
1502
+ * },
1503
+ * }>,
1504
+ * }
1505
+ * @psalm-type MakerConfig = array{
1506
+ * root_namespace?: scalar|Param|null, // Default: "App"
1507
+ * generate_final_classes?: bool|Param, // Default: true
1508
+ * generate_final_entities?: bool|Param, // Default: false
1509
+ * }
1510
+ * @psalm-type PentatrionViteConfig = array{
1511
+ * public_directory?: scalar|Param|null, // Default: "public"
1512
+ * build_directory?: scalar|Param|null, // we only need build_directory to locate entrypoints.json file, it's the "base" vite config parameter without slashes. // Default: "build"
1513
+ * proxy_origin?: scalar|Param|null, // Allows to use different origin for asset proxy, eg. http://host.docker.internal:5173 // Default: null
1514
+ * absolute_url?: bool|Param, // Prepend the rendered link and script tags with an absolute URL. // Default: false
1515
+ * throw_on_missing_entry?: scalar|Param|null, // Throw exception when entry is not present in the entrypoints file // Default: false
1516
+ * throw_on_missing_asset?: scalar|Param|null, // Throw exception when asset is not present in the manifest file // Default: true
1517
+ * cache?: bool|Param, // Enable caching of the entry point file(s) // Default: false
1518
+ * preload?: "none"|"link-tag"|"link-header"|Param, // preload all rendered script and link tags automatically via the http2 Link header. (symfony/web-link is required) Instead <link rel="modulepreload"> will be used. // Default: "link-tag"
1519
+ * crossorigin?: false|true|"anonymous"|"use-credentials"|Param, // crossorigin value, can be false, true (default), anonymous (same as true) or use-credentials // Default: true
1520
+ * script_attributes?: list<scalar|Param|null>,
1521
+ * link_attributes?: list<scalar|Param|null>,
1522
+ * preload_attributes?: list<scalar|Param|null>,
1523
+ * default_build?: scalar|Param|null, // Deprecated: The "default_build" option is deprecated. Use "default_config" instead. // Default: null
1524
+ * builds?: array<string, array{ // Default: []
1525
+ * build_directory?: scalar|Param|null, // Default: "build"
1526
+ * script_attributes?: list<scalar|Param|null>,
1527
+ * link_attributes?: list<scalar|Param|null>,
1528
+ * preload_attributes?: list<scalar|Param|null>,
1529
+ * }>,
1530
+ * default_config?: scalar|Param|null, // Default: null
1531
+ * configs?: array<string, array{ // Default: []
1532
+ * build_directory?: scalar|Param|null, // Default: "build"
1533
+ * script_attributes?: list<scalar|Param|null>,
1534
+ * link_attributes?: list<scalar|Param|null>,
1535
+ * preload_attributes?: list<scalar|Param|null>,
1536
+ * }>,
1537
+ * }
1538
+ * @psalm-type ConfigType = array{
1539
+ * imports?: ImportsConfig,
1540
+ * parameters?: ParametersConfig,
1541
+ * services?: ServicesConfig,
1542
+ * framework?: FrameworkConfig,
1543
+ * doctrine?: DoctrineConfig,
1544
+ * doctrine_migrations?: DoctrineMigrationsConfig,
1545
+ * twig?: TwigConfig,
1546
+ * turbo?: TurboConfig,
1547
+ * twig_extra?: TwigExtraConfig,
1548
+ * security?: SecurityConfig,
1549
+ * monolog?: MonologConfig,
1550
+ * pentatrion_vite?: PentatrionViteConfig,
1551
+ * "when@dev"?: array{
1552
+ * imports?: ImportsConfig,
1553
+ * parameters?: ParametersConfig,
1554
+ * services?: ServicesConfig,
1555
+ * framework?: FrameworkConfig,
1556
+ * doctrine?: DoctrineConfig,
1557
+ * doctrine_migrations?: DoctrineMigrationsConfig,
1558
+ * debug?: DebugConfig,
1559
+ * twig?: TwigConfig,
1560
+ * web_profiler?: WebProfilerConfig,
1561
+ * turbo?: TurboConfig,
1562
+ * twig_extra?: TwigExtraConfig,
1563
+ * security?: SecurityConfig,
1564
+ * monolog?: MonologConfig,
1565
+ * maker?: MakerConfig,
1566
+ * pentatrion_vite?: PentatrionViteConfig,
1567
+ * },
1568
+ * "when@prod"?: array{
1569
+ * imports?: ImportsConfig,
1570
+ * parameters?: ParametersConfig,
1571
+ * services?: ServicesConfig,
1572
+ * framework?: FrameworkConfig,
1573
+ * doctrine?: DoctrineConfig,
1574
+ * doctrine_migrations?: DoctrineMigrationsConfig,
1575
+ * twig?: TwigConfig,
1576
+ * turbo?: TurboConfig,
1577
+ * twig_extra?: TwigExtraConfig,
1578
+ * security?: SecurityConfig,
1579
+ * monolog?: MonologConfig,
1580
+ * pentatrion_vite?: PentatrionViteConfig,
1581
+ * },
1582
+ * "when@test"?: array{
1583
+ * imports?: ImportsConfig,
1584
+ * parameters?: ParametersConfig,
1585
+ * services?: ServicesConfig,
1586
+ * framework?: FrameworkConfig,
1587
+ * doctrine?: DoctrineConfig,
1588
+ * doctrine_migrations?: DoctrineMigrationsConfig,
1589
+ * twig?: TwigConfig,
1590
+ * web_profiler?: WebProfilerConfig,
1591
+ * turbo?: TurboConfig,
1592
+ * twig_extra?: TwigExtraConfig,
1593
+ * security?: SecurityConfig,
1594
+ * monolog?: MonologConfig,
1595
+ * pentatrion_vite?: PentatrionViteConfig,
1596
+ * },
1597
+ * ...<string, ExtensionType|array{ // extra keys must follow the when@%env% pattern or match an extension alias
1598
+ * imports?: ImportsConfig,
1599
+ * parameters?: ParametersConfig,
1600
+ * services?: ServicesConfig,
1601
+ * ...<string, ExtensionType>,
1602
+ * }>
1603
+ * }
1604
+ */
1605
+ final class App
1606
+ {
1607
+ /**
1608
+ * @param ConfigType $config
1609
+ *
1610
+ * @psalm-return ConfigType
1611
+ */
1612
+ public static function config(array $config): array
1613
+ {
1614
+ /** @var ConfigType $config */
1615
+ $config = AppReference::config($config);
1616
+
1617
+ return $config;
1618
+ }
1619
+ }
1620
+
1621
+ namespace Symfony\Component\Routing\Loader\Configurator;
1622
+
1623
+ /**
1624
+ * This class provides array-shapes for configuring the routes of an application.
1625
+ *
1626
+ * Example:
1627
+ *
1628
+ * ```php
1629
+ * // config/routes.php
1630
+ * namespace Symfony\Component\Routing\Loader\Configurator;
1631
+ *
1632
+ * return Routes::config([
1633
+ * 'controllers' => [
1634
+ * 'resource' => 'routing.controllers',
1635
+ * ],
1636
+ * ]);
1637
+ * ```
1638
+ *
1639
+ * @psalm-type RouteConfig = array{
1640
+ * path: string|array<string,string>,
1641
+ * controller?: string,
1642
+ * methods?: string|list<string>,
1643
+ * requirements?: array<string,string>,
1644
+ * defaults?: array<string,mixed>,
1645
+ * options?: array<string,mixed>,
1646
+ * host?: string|array<string,string>,
1647
+ * schemes?: string|list<string>,
1648
+ * condition?: string,
1649
+ * locale?: string,
1650
+ * format?: string,
1651
+ * utf8?: bool,
1652
+ * stateless?: bool,
1653
+ * }
1654
+ * @psalm-type ImportConfig = array{
1655
+ * resource: string,
1656
+ * type?: string,
1657
+ * exclude?: string|list<string>,
1658
+ * prefix?: string|array<string,string>,
1659
+ * name_prefix?: string,
1660
+ * trailing_slash_on_root?: bool,
1661
+ * controller?: string,
1662
+ * methods?: string|list<string>,
1663
+ * requirements?: array<string,string>,
1664
+ * defaults?: array<string,mixed>,
1665
+ * options?: array<string,mixed>,
1666
+ * host?: string|array<string,string>,
1667
+ * schemes?: string|list<string>,
1668
+ * condition?: string,
1669
+ * locale?: string,
1670
+ * format?: string,
1671
+ * utf8?: bool,
1672
+ * stateless?: bool,
1673
+ * }
1674
+ * @psalm-type AliasConfig = array{
1675
+ * alias: string,
1676
+ * deprecated?: array{package:string, version:string, message?:string},
1677
+ * }
1678
+ * @psalm-type RoutesConfig = array{
1679
+ * "when@dev"?: array<string, RouteConfig|ImportConfig|AliasConfig>,
1680
+ * "when@prod"?: array<string, RouteConfig|ImportConfig|AliasConfig>,
1681
+ * "when@test"?: array<string, RouteConfig|ImportConfig|AliasConfig>,
1682
+ * ...<string, RouteConfig|ImportConfig|AliasConfig>
1683
+ * }
1684
+ */
1685
+ final class Routes
1686
+ {
1687
+ /**
1688
+ * @param RoutesConfig $config
1689
+ *
1690
+ * @psalm-return RoutesConfig
1691
+ */
1692
+ public static function config(array $config): array
1693
+ {
1694
+ return $config;
1695
+ }
1696
+ }