reference.php 105 KB

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