diff --git a/.idea/dataSources.xml b/.idea/dataSources.xml
index 15f93b9..0b73c9c 100644
--- a/.idea/dataSources.xml
+++ b/.idea/dataSources.xml
@@ -5,7 +5,7 @@
postgresql
true
org.postgresql.Driver
- jdbc:postgresql://localhost:5432/ferme
+ jdbc:postgresql://localhost:5433/ferme
$ProjectFileDir$
diff --git a/.idea/php.xml b/.idea/php.xml
index 18f7966..d4b4d6a 100644
--- a/.idea/php.xml
+++ b/.idea/php.xml
@@ -21,7 +21,6 @@
-
@@ -158,6 +157,7 @@
+
diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index d24f2c2..3c26acf 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -4,20 +4,16 @@
-
-
-
-
-
+
+
-
+
+
+
-
-
-
@@ -72,7 +68,6 @@
-
@@ -209,6 +204,7 @@
+
{
@@ -221,34 +217,34 @@
- {
+ "keyToString": {
+ "RunOnceActivity.MCP Project settings loaded": "true",
+ "RunOnceActivity.ShowReadmeOnStart": "true",
+ "RunOnceActivity.TerminalTabsStorage.copyFrom.TerminalArrangementManager.252": "true",
+ "RunOnceActivity.git.unshallow": "true",
+ "RunOnceActivity.typescript.service.memoryLimit.init": "true",
+ "git-widget-placeholder": "feat/installation-soap-bundle",
+ "node.js.detected.package.eslint": "true",
+ "node.js.detected.package.tslint": "true",
+ "node.js.selected.package.eslint": "(autodetect)",
+ "node.js.selected.package.tslint": "(autodetect)",
+ "nodejs_package_manager_path": "npm",
+ "settings.editor.selected.configurable": "preferences.keymap",
+ "vue.rearranger.settings.migration": "true"
},
- "keyToStringList": {
- "DatabaseDriversLRU": [
- "postgresql"
+ "keyToStringList": {
+ "DatabaseDriversLRU": [
+ "postgresql"
],
- "com.intellij.ide.scratch.ScratchImplUtil$2/New Scratch File": [
- "TEXT"
+ "com.intellij.ide.scratch.ScratchImplUtil$2/New Scratch File": [
+ "TEXT"
],
- "vue.recent.templates": [
- "Vue Composition API Component"
+ "vue.recent.templates": [
+ "Vue Composition API Component"
]
}
-}]]>
+}
@@ -261,7 +257,7 @@
-
+
@@ -278,7 +274,9 @@
-
+
+
+
@@ -544,7 +542,15 @@
1769177611987
-
+
+
+ 1769184861047
+
+
+
+ 1769184861047
+
+
@@ -594,7 +600,6 @@
-
@@ -619,7 +624,8 @@
-
+
+
diff --git a/composer.json b/composer.json
index c54611c..b09f4a0 100644
--- a/composer.json
+++ b/composer.json
@@ -14,7 +14,7 @@
"doctrine/orm": "^3.6",
"dompdf/dompdf": "^3.1",
"lexik/jwt-authentication-bundle": "*",
- "malio/ednotif-bundle": "0.0.1",
+ "malio/ednotif-bundle": ">=0.0.4",
"nelmio/cors-bundle": "^2.6",
"phpdocumentor/reflection-docblock": "^5.6",
"phpstan/phpdoc-parser": "^2.3",
diff --git a/composer.lock b/composer.lock
index 730e423..d308752 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
- "content-hash": "7610b5a8d12b9c2c21e4b3b404465b04",
+ "content-hash": "d66ef6b521a08a262b1c043bb32cafe5",
"packages": [
{
"name": "api-platform/doctrine-common",
@@ -2706,11 +2706,11 @@
},
{
"name": "malio/ednotif-bundle",
- "version": "0.0.1",
+ "version": "v0.0.4",
"source": {
"type": "git",
"url": "https://gitea.malio.fr/MALIO-DEV/ednotif-bundle",
- "reference": "7e0c084ebe81e210d8ea4c66eaa96a1fbabb4848"
+ "reference": "92c058213b34ba61f4aa6c03e11ce1ea8cc71421"
},
"require": {
"ext-soap": "*",
@@ -2744,7 +2744,7 @@
"MIT"
],
"description": "Client EDNOTIF (Guichet + wsIpBNotif) pour Symfony",
- "time": "2026-01-23T15:19:50+00:00"
+ "time": "2026-01-26T13:24:38+00:00"
},
{
"name": "masterminds/html5",
@@ -3655,16 +3655,16 @@
},
{
"name": "symfony/cache",
- "version": "v8.0.3",
+ "version": "v8.0.4",
"source": {
"type": "git",
"url": "https://github.com/symfony/cache.git",
- "reference": "ef8c7dbfe613d2773d0b5e68b2ef2db72c8b025f"
+ "reference": "5d3fcada5e1b80157cfdfd1f9dbbd63f95ef6f13"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/cache/zipball/ef8c7dbfe613d2773d0b5e68b2ef2db72c8b025f",
- "reference": "ef8c7dbfe613d2773d0b5e68b2ef2db72c8b025f",
+ "url": "https://api.github.com/repos/symfony/cache/zipball/5d3fcada5e1b80157cfdfd1f9dbbd63f95ef6f13",
+ "reference": "5d3fcada5e1b80157cfdfd1f9dbbd63f95ef6f13",
"shasum": ""
},
"require": {
@@ -3731,7 +3731,7 @@
"psr6"
],
"support": {
- "source": "https://github.com/symfony/cache/tree/v8.0.3"
+ "source": "https://github.com/symfony/cache/tree/v8.0.4"
},
"funding": [
{
@@ -3751,7 +3751,7 @@
"type": "tidelift"
}
],
- "time": "2025-12-28T10:45:32+00:00"
+ "time": "2026-01-23T12:59:31+00:00"
},
{
"name": "symfony/cache-contracts",
@@ -3908,16 +3908,16 @@
},
{
"name": "symfony/config",
- "version": "v8.0.3",
+ "version": "v8.0.4",
"source": {
"type": "git",
"url": "https://github.com/symfony/config.git",
- "reference": "58063686fd7b8e676f14b5a4808cb85265c5216e"
+ "reference": "8f45af92f08f82902827a8b6f403aaf49d893539"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/config/zipball/58063686fd7b8e676f14b5a4808cb85265c5216e",
- "reference": "58063686fd7b8e676f14b5a4808cb85265c5216e",
+ "url": "https://api.github.com/repos/symfony/config/zipball/8f45af92f08f82902827a8b6f403aaf49d893539",
+ "reference": "8f45af92f08f82902827a8b6f403aaf49d893539",
"shasum": ""
},
"require": {
@@ -3962,7 +3962,7 @@
"description": "Helps you find, load, combine, autofill and validate configuration values of any kind",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/config/tree/v8.0.3"
+ "source": "https://github.com/symfony/config/tree/v8.0.4"
},
"funding": [
{
@@ -3982,7 +3982,7 @@
"type": "tidelift"
}
],
- "time": "2025-12-23T14:52:06+00:00"
+ "time": "2026-01-13T13:06:50+00:00"
},
{
"name": "symfony/console",
@@ -4076,16 +4076,16 @@
},
{
"name": "symfony/dependency-injection",
- "version": "v8.0.3",
+ "version": "v8.0.4",
"source": {
"type": "git",
"url": "https://github.com/symfony/dependency-injection.git",
- "reference": "8db0d4c1dd4c533a29210c68074999ba45ad6d3e"
+ "reference": "59c3cf87a7ed9beb561cf7433a6635b000a0ff4d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/8db0d4c1dd4c533a29210c68074999ba45ad6d3e",
- "reference": "8db0d4c1dd4c533a29210c68074999ba45ad6d3e",
+ "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/59c3cf87a7ed9beb561cf7433a6635b000a0ff4d",
+ "reference": "59c3cf87a7ed9beb561cf7433a6635b000a0ff4d",
"shasum": ""
},
"require": {
@@ -4133,7 +4133,7 @@
"description": "Allows you to standardize and centralize the way objects are constructed in your application",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/dependency-injection/tree/v8.0.3"
+ "source": "https://github.com/symfony/dependency-injection/tree/v8.0.4"
},
"funding": [
{
@@ -4153,7 +4153,7 @@
"type": "tidelift"
}
],
- "time": "2025-12-23T14:52:06+00:00"
+ "time": "2026-01-23T12:59:31+00:00"
},
{
"name": "symfony/deprecation-contracts",
@@ -4400,16 +4400,16 @@
},
{
"name": "symfony/error-handler",
- "version": "v8.0.0",
+ "version": "v8.0.4",
"source": {
"type": "git",
"url": "https://github.com/symfony/error-handler.git",
- "reference": "d77ec7dda0c274178745d152e82baf7ea827fd73"
+ "reference": "7620b97ec0ab1d2d6c7fb737aa55da411bea776a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/error-handler/zipball/d77ec7dda0c274178745d152e82baf7ea827fd73",
- "reference": "d77ec7dda0c274178745d152e82baf7ea827fd73",
+ "url": "https://api.github.com/repos/symfony/error-handler/zipball/7620b97ec0ab1d2d6c7fb737aa55da411bea776a",
+ "reference": "7620b97ec0ab1d2d6c7fb737aa55da411bea776a",
"shasum": ""
},
"require": {
@@ -4457,7 +4457,7 @@
"description": "Provides tools to manage errors and ease debugging PHP code",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/error-handler/tree/v8.0.0"
+ "source": "https://github.com/symfony/error-handler/tree/v8.0.4"
},
"funding": [
{
@@ -4477,20 +4477,20 @@
"type": "tidelift"
}
],
- "time": "2025-11-05T14:36:47+00:00"
+ "time": "2026-01-23T11:07:10+00:00"
},
{
"name": "symfony/event-dispatcher",
- "version": "v8.0.0",
+ "version": "v8.0.4",
"source": {
"type": "git",
"url": "https://github.com/symfony/event-dispatcher.git",
- "reference": "573f95783a2ec6e38752979db139f09fec033f03"
+ "reference": "99301401da182b6cfaa4700dbe9987bb75474b47"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/573f95783a2ec6e38752979db139f09fec033f03",
- "reference": "573f95783a2ec6e38752979db139f09fec033f03",
+ "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/99301401da182b6cfaa4700dbe9987bb75474b47",
+ "reference": "99301401da182b6cfaa4700dbe9987bb75474b47",
"shasum": ""
},
"require": {
@@ -4542,7 +4542,7 @@
"description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/event-dispatcher/tree/v8.0.0"
+ "source": "https://github.com/symfony/event-dispatcher/tree/v8.0.4"
},
"funding": [
{
@@ -4562,7 +4562,7 @@
"type": "tidelift"
}
],
- "time": "2025-10-30T14:17:19+00:00"
+ "time": "2026-01-05T11:45:55+00:00"
},
{
"name": "symfony/event-dispatcher-contracts",
@@ -4779,16 +4779,16 @@
},
{
"name": "symfony/finder",
- "version": "v8.0.3",
+ "version": "v8.0.4",
"source": {
"type": "git",
"url": "https://github.com/symfony/finder.git",
- "reference": "dd3a2953570a283a2ba4e17063bb98c734cf5b12"
+ "reference": "42e48eb02e07d5f3771d194d67da117eb824c8c1"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/finder/zipball/dd3a2953570a283a2ba4e17063bb98c734cf5b12",
- "reference": "dd3a2953570a283a2ba4e17063bb98c734cf5b12",
+ "url": "https://api.github.com/repos/symfony/finder/zipball/42e48eb02e07d5f3771d194d67da117eb824c8c1",
+ "reference": "42e48eb02e07d5f3771d194d67da117eb824c8c1",
"shasum": ""
},
"require": {
@@ -4823,7 +4823,7 @@
"description": "Finds files and directories via an intuitive fluent interface",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/finder/tree/v8.0.3"
+ "source": "https://github.com/symfony/finder/tree/v8.0.4"
},
"funding": [
{
@@ -4843,7 +4843,7 @@
"type": "tidelift"
}
],
- "time": "2025-12-23T14:52:06+00:00"
+ "time": "2026-01-12T12:37:40+00:00"
},
{
"name": "symfony/flex",
@@ -4920,16 +4920,16 @@
},
{
"name": "symfony/framework-bundle",
- "version": "v8.0.3",
+ "version": "v8.0.4",
"source": {
"type": "git",
"url": "https://github.com/symfony/framework-bundle.git",
- "reference": "738a92519fbc3ac37192b28052574bf2d1e8f63a"
+ "reference": "121c3b2baa96e74754f2db550007aa6bcdf27c7e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/framework-bundle/zipball/738a92519fbc3ac37192b28052574bf2d1e8f63a",
- "reference": "738a92519fbc3ac37192b28052574bf2d1e8f63a",
+ "url": "https://api.github.com/repos/symfony/framework-bundle/zipball/121c3b2baa96e74754f2db550007aa6bcdf27c7e",
+ "reference": "121c3b2baa96e74754f2db550007aa6bcdf27c7e",
"shasum": ""
},
"require": {
@@ -4937,8 +4937,8 @@
"ext-xml": "*",
"php": ">=8.4",
"symfony/cache": "^7.4|^8.0",
- "symfony/config": "^7.4.3|^8.0.3",
- "symfony/dependency-injection": "^7.4|^8.0",
+ "symfony/config": "^7.4.4|^8.0.4",
+ "symfony/dependency-injection": "^7.4.4|^8.0.4",
"symfony/deprecation-contracts": "^2.5|^3",
"symfony/error-handler": "^7.4|^8.0",
"symfony/event-dispatcher": "^7.4|^8.0",
@@ -5036,7 +5036,7 @@
"description": "Provides a tight integration between Symfony components and the Symfony full-stack framework",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/framework-bundle/tree/v8.0.3"
+ "source": "https://github.com/symfony/framework-bundle/tree/v8.0.4"
},
"funding": [
{
@@ -5056,7 +5056,7 @@
"type": "tidelift"
}
],
- "time": "2025-12-23T14:52:06+00:00"
+ "time": "2026-01-12T12:37:40+00:00"
},
{
"name": "symfony/http-client",
@@ -5234,16 +5234,16 @@
},
{
"name": "symfony/http-foundation",
- "version": "v8.0.3",
+ "version": "v8.0.4",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-foundation.git",
- "reference": "514ec3aa7982f296b0ad0825f75b6be5779ae9e7"
+ "reference": "e33ba71e674a1bb16eb251688bd27c2ff67e0dc1"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/http-foundation/zipball/514ec3aa7982f296b0ad0825f75b6be5779ae9e7",
- "reference": "514ec3aa7982f296b0ad0825f75b6be5779ae9e7",
+ "url": "https://api.github.com/repos/symfony/http-foundation/zipball/e33ba71e674a1bb16eb251688bd27c2ff67e0dc1",
+ "reference": "e33ba71e674a1bb16eb251688bd27c2ff67e0dc1",
"shasum": ""
},
"require": {
@@ -5290,7 +5290,7 @@
"description": "Defines an object-oriented layer for the HTTP specification",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/http-foundation/tree/v8.0.3"
+ "source": "https://github.com/symfony/http-foundation/tree/v8.0.4"
},
"funding": [
{
@@ -5310,20 +5310,20 @@
"type": "tidelift"
}
],
- "time": "2025-12-23T14:52:06+00:00"
+ "time": "2026-01-09T12:15:10+00:00"
},
{
"name": "symfony/http-kernel",
- "version": "v8.0.3",
+ "version": "v8.0.4",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-kernel.git",
- "reference": "e6dfb348eb1dd4df14c39e6dc7e283bab4199fd9"
+ "reference": "3e61425b663a995957217d03c444b9d27ca7d928"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/http-kernel/zipball/e6dfb348eb1dd4df14c39e6dc7e283bab4199fd9",
- "reference": "e6dfb348eb1dd4df14c39e6dc7e283bab4199fd9",
+ "url": "https://api.github.com/repos/symfony/http-kernel/zipball/3e61425b663a995957217d03c444b9d27ca7d928",
+ "reference": "3e61425b663a995957217d03c444b9d27ca7d928",
"shasum": ""
},
"require": {
@@ -5394,7 +5394,7 @@
"description": "Provides a structured process for converting a Request into a Response",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/http-kernel/tree/v8.0.3"
+ "source": "https://github.com/symfony/http-kernel/tree/v8.0.4"
},
"funding": [
{
@@ -5414,7 +5414,7 @@
"type": "tidelift"
}
],
- "time": "2025-12-31T09:29:34+00:00"
+ "time": "2026-01-25T08:21:00+00:00"
},
{
"name": "symfony/monolog-bridge",
@@ -6300,16 +6300,16 @@
},
{
"name": "symfony/routing",
- "version": "v8.0.3",
+ "version": "v8.0.4",
"source": {
"type": "git",
"url": "https://github.com/symfony/routing.git",
- "reference": "3827ac6e03dcd86e430fb6ae6056acf5b51aece3"
+ "reference": "4a2bc08d1c35307239329f434d45c2bfe8241fa9"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/routing/zipball/3827ac6e03dcd86e430fb6ae6056acf5b51aece3",
- "reference": "3827ac6e03dcd86e430fb6ae6056acf5b51aece3",
+ "url": "https://api.github.com/repos/symfony/routing/zipball/4a2bc08d1c35307239329f434d45c2bfe8241fa9",
+ "reference": "4a2bc08d1c35307239329f434d45c2bfe8241fa9",
"shasum": ""
},
"require": {
@@ -6356,7 +6356,7 @@
"url"
],
"support": {
- "source": "https://github.com/symfony/routing/tree/v8.0.3"
+ "source": "https://github.com/symfony/routing/tree/v8.0.4"
},
"funding": [
{
@@ -6376,7 +6376,7 @@
"type": "tidelift"
}
],
- "time": "2025-12-19T10:01:18+00:00"
+ "time": "2026-01-12T12:37:40+00:00"
},
{
"name": "symfony/runtime",
@@ -7667,16 +7667,16 @@
},
{
"name": "symfony/var-dumper",
- "version": "v8.0.3",
+ "version": "v8.0.4",
"source": {
"type": "git",
"url": "https://github.com/symfony/var-dumper.git",
- "reference": "3bc368228532ad538cc216768caa8968be95a8d6"
+ "reference": "326e0406fc315eca57ef5740fa4a280b7a068c82"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/var-dumper/zipball/3bc368228532ad538cc216768caa8968be95a8d6",
- "reference": "3bc368228532ad538cc216768caa8968be95a8d6",
+ "url": "https://api.github.com/repos/symfony/var-dumper/zipball/326e0406fc315eca57ef5740fa4a280b7a068c82",
+ "reference": "326e0406fc315eca57ef5740fa4a280b7a068c82",
"shasum": ""
},
"require": {
@@ -7730,7 +7730,7 @@
"dump"
],
"support": {
- "source": "https://github.com/symfony/var-dumper/tree/v8.0.3"
+ "source": "https://github.com/symfony/var-dumper/tree/v8.0.4"
},
"funding": [
{
@@ -7750,7 +7750,7 @@
"type": "tidelift"
}
],
- "time": "2025-12-18T11:23:51+00:00"
+ "time": "2026-01-01T23:07:29+00:00"
},
{
"name": "symfony/var-exporter",
@@ -11190,16 +11190,16 @@
},
{
"name": "symfony/process",
- "version": "v8.0.3",
+ "version": "v8.0.4",
"source": {
"type": "git",
"url": "https://github.com/symfony/process.git",
- "reference": "0cbbd88ec836f8757641c651bb995335846abb78"
+ "reference": "10df72602d88c0a3fa685b822976a052611dd607"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/process/zipball/0cbbd88ec836f8757641c651bb995335846abb78",
- "reference": "0cbbd88ec836f8757641c651bb995335846abb78",
+ "url": "https://api.github.com/repos/symfony/process/zipball/10df72602d88c0a3fa685b822976a052611dd607",
+ "reference": "10df72602d88c0a3fa685b822976a052611dd607",
"shasum": ""
},
"require": {
@@ -11231,7 +11231,7 @@
"description": "Executes commands in sub-processes",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/process/tree/v8.0.3"
+ "source": "https://github.com/symfony/process/tree/v8.0.4"
},
"funding": [
{
@@ -11251,7 +11251,7 @@
"type": "tidelift"
}
],
- "time": "2025-12-19T10:01:18+00:00"
+ "time": "2026-01-23T11:07:10+00:00"
},
{
"name": "symfony/web-profiler-bundle",
diff --git a/config/bundles.php b/config/bundles.php
index f7fa27d..5531a12 100644
--- a/config/bundles.php
+++ b/config/bundles.php
@@ -25,5 +25,5 @@ return [
ApiPlatformBundle::class => ['all' => true],
MonologBundle::class => ['all' => true],
EdnotifBundle::class => ['all' => true],
- WebProfilerBundle::class => ['dev' => true, 'test' => true],
+ WebProfilerBundle::class => ['dev' => true],
];
diff --git a/config/packages/ednotif.yaml b/config/packages/ednotif.yaml
index bce226c..c4b9fc9 100644
--- a/config/packages/ednotif.yaml
+++ b/config/packages/ednotif.yaml
@@ -1,11 +1,11 @@
ednotif:
guichet_wsdl: 'https://ws-reswel-elv.equade.fr/wsguichet/WsGuichet?wsdl'
metier_wsdl: 'https://ws-ednotif.equade.fr/wsIpBNotif/wsIpBNotif?wsdl'
- entreprise: 'E860'
+ exploitation_code: '%env(string:EDNOTIF_EXPLOITATION_CODE)%'
exploitation_number: '%env(string:EDNOTIF_EXPLOITATION_NUMERO)%'
exploitation_country_code: 'FR'
- login: '%env(EDNOTIF_LOGIN)%'
- password: '%env(EDNOTIF_PASSWORD)%'
+ login: '%env(string:EDNOTIF_LOGIN)%'
+ password: '%env(string:EDNOTIF_PASSWORD)%'
token_ttl_seconds: 900
soap_options:
trace: false
diff --git a/config/packages/web_profiler.yaml b/config/packages/web_profiler.yaml
index 0eac3c9..025353a 100644
--- a/config/packages/web_profiler.yaml
+++ b/config/packages/web_profiler.yaml
@@ -5,9 +5,3 @@ when@dev:
framework:
profiler:
collect_serializer_data: true
-
-when@test:
- framework:
- profiler:
- collect: false
- collect_serializer_data: true
diff --git a/config/reference.php b/config/reference.php
index e89a2ef..51984cc 100644
--- a/config/reference.php
+++ b/config/reference.php
@@ -35,7 +35,7 @@ use Symfony\Component\Config\Loader\ParamConfigurator as Param;
* type?: string|null,
* ignore_errors?: bool,
* }>
- * @psalm-type ParametersConfig = array|null>|null>
+ * @psalm-type ParametersConfig = array|Param|null>|Param|null>
* @psalm-type ArgumentsType = list|array
* @psalm-type CallType = array|array{0:string, 1?:ArgumentsType, 2?:bool}|array{method:string, arguments?:ArgumentsType, returns_clone?:bool}
* @psalm-type TagsType = list>> // arrays inside the list must have only one element, with the tag name as the key
@@ -128,44 +128,44 @@ use Symfony\Component\Config\Loader\ParamConfigurator as Param;
* }
* @psalm-type ExtensionType = array
* @psalm-type FrameworkConfig = array{
- * secret?: scalar|null|Param,
+ * secret?: scalar|Param|null,
* 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
* allowed_http_method_override?: list|null,
- * trust_x_sendfile_type_header?: scalar|null|Param, // Set true to enable support for xsendfile in binary file responses. // Default: "%env(bool:default::SYMFONY_TRUST_X_SENDFILE_TYPE_HEADER)%"
- * ide?: scalar|null|Param, // Default: "%env(default::SYMFONY_IDE)%"
+ * 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)%"
+ * ide?: scalar|Param|null, // Default: "%env(default::SYMFONY_IDE)%"
* test?: bool|Param,
- * default_locale?: scalar|null|Param, // Default: "en"
+ * default_locale?: scalar|Param|null, // Default: "en"
* 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
* set_content_language_from_locale?: bool|Param, // Whether to set the Content-Language HTTP header on the Response using the Request locale. // Default: false
- * enabled_locales?: list,
- * trusted_hosts?: list,
+ * enabled_locales?: list,
+ * trusted_hosts?: list,
* trusted_proxies?: mixed, // Default: ["%env(default::SYMFONY_TRUSTED_PROXIES)%"]
- * trusted_headers?: list,
- * error_controller?: scalar|null|Param, // Default: "error_controller"
+ * trusted_headers?: list,
+ * error_controller?: scalar|Param|null, // Default: "error_controller"
* handle_all_throwables?: bool|Param, // HttpKernel will handle all kinds of \Throwable. // Default: true
* csrf_protection?: bool|array{
- * enabled?: scalar|null|Param, // Default: null
- * stateless_token_ids?: list,
- * check_header?: scalar|null|Param, // Whether to check the CSRF token in a header in addition to a cookie when using stateless protection. // Default: false
- * cookie_name?: scalar|null|Param, // The name of the cookie to use when using stateless protection. // Default: "csrf-token"
+ * enabled?: scalar|Param|null, // Default: null
+ * stateless_token_ids?: list,
+ * 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
+ * cookie_name?: scalar|Param|null, // The name of the cookie to use when using stateless protection. // Default: "csrf-token"
* },
* form?: bool|array{ // Form configuration
* enabled?: bool|Param, // Default: false
- * csrf_protection?: array{
- * enabled?: scalar|null|Param, // Default: null
- * token_id?: scalar|null|Param, // Default: null
- * field_name?: scalar|null|Param, // Default: "_token"
- * field_attr?: array,
+ * csrf_protection?: bool|array{
+ * enabled?: scalar|Param|null, // Default: null
+ * token_id?: scalar|Param|null, // Default: null
+ * field_name?: scalar|Param|null, // Default: "_token"
+ * field_attr?: array,
* },
* },
* http_cache?: bool|array{ // HTTP cache configuration
* enabled?: bool|Param, // Default: false
* debug?: bool|Param, // Default: "%kernel.debug%"
* trace_level?: "none"|"short"|"full"|Param,
- * trace_header?: scalar|null|Param,
+ * trace_header?: scalar|Param|null,
* default_ttl?: int|Param,
- * private_headers?: list,
- * skip_response_headers?: list,
+ * private_headers?: list,
+ * skip_response_headers?: list,
* allow_reload?: bool|Param,
* allow_revalidate?: bool|Param,
* stale_while_revalidate?: int|Param,
@@ -180,16 +180,16 @@ use Symfony\Component\Config\Loader\ParamConfigurator as Param;
* },
* fragments?: bool|array{ // Fragments configuration
* enabled?: bool|Param, // Default: false
- * hinclude_default_template?: scalar|null|Param, // Default: null
- * path?: scalar|null|Param, // Default: "/_fragment"
+ * hinclude_default_template?: scalar|Param|null, // Default: null
+ * path?: scalar|Param|null, // Default: "/_fragment"
* },
* profiler?: bool|array{ // Profiler configuration
* enabled?: bool|Param, // Default: false
* collect?: bool|Param, // Default: true
- * collect_parameter?: scalar|null|Param, // The name of the parameter to use to enable or disable collection on a per request basis. // Default: null
+ * collect_parameter?: scalar|Param|null, // The name of the parameter to use to enable or disable collection on a per request basis. // Default: null
* only_exceptions?: bool|Param, // Default: false
* only_main_requests?: bool|Param, // Default: false
- * dsn?: scalar|null|Param, // Default: "file:%kernel.cache_dir%/profiler"
+ * dsn?: scalar|Param|null, // Default: "file:%kernel.cache_dir%/profiler"
* collect_serializer_data?: true|Param, // Default: true
* },
* workflows?: bool|array{
@@ -201,16 +201,16 @@ use Symfony\Component\Config\Loader\ParamConfigurator as Param;
* type?: "workflow"|"state_machine"|Param, // Default: "state_machine"
* marking_store?: array{
* type?: "method"|Param,
- * property?: scalar|null|Param,
- * service?: scalar|null|Param,
+ * property?: scalar|Param|null,
+ * service?: scalar|Param|null,
* },
- * supports?: list,
- * definition_validators?: list,
- * support_strategy?: scalar|null|Param,
- * initial_marking?: list,
+ * supports?: list,
+ * definition_validators?: list,
+ * support_strategy?: scalar|Param|null,
+ * initial_marking?: list,
* events_to_dispatch?: list|null,
* places?: list,
* }>,
* transitions: list>,
+ * formats?: array>,
* },
* assets?: bool|array{ // Assets configuration
* enabled?: bool|Param, // Default: true
* strict_mode?: bool|Param, // Throw an exception if an entry is missing from the manifest.json. // Default: false
- * version_strategy?: scalar|null|Param, // Default: null
- * version?: scalar|null|Param, // Default: null
- * version_format?: scalar|null|Param, // Default: "%%s?%%s"
- * json_manifest_path?: scalar|null|Param, // Default: null
- * base_path?: scalar|null|Param, // Default: ""
- * base_urls?: list,
+ * version_strategy?: scalar|Param|null, // Default: null
+ * version?: scalar|Param|null, // Default: null
+ * version_format?: scalar|Param|null, // Default: "%%s?%%s"
+ * json_manifest_path?: scalar|Param|null, // Default: null
+ * base_path?: scalar|Param|null, // Default: ""
+ * base_urls?: list,
* packages?: array,
+ * version_strategy?: scalar|Param|null, // Default: null
+ * version?: scalar|Param|null,
+ * version_format?: scalar|Param|null, // Default: null
+ * json_manifest_path?: scalar|Param|null, // Default: null
+ * base_path?: scalar|Param|null, // Default: ""
+ * base_urls?: list,
* }>,
* },
* asset_mapper?: bool|array{ // Asset Mapper configuration
* enabled?: bool|Param, // Default: false
- * paths?: array,
- * excluded_patterns?: list,
+ * paths?: array,
+ * excluded_patterns?: list,
* exclude_dotfiles?: bool|Param, // If true, any files starting with "." will be excluded from the asset mapper. // Default: true
* 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
- * public_prefix?: scalar|null|Param, // The public path where the assets will be written to (and served from when "server" is true). // Default: "/assets/"
+ * public_prefix?: scalar|Param|null, // The public path where the assets will be written to (and served from when "server" is true). // Default: "/assets/"
* 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"
- * extensions?: array,
- * importmap_path?: scalar|null|Param, // The path of the importmap.php file. // Default: "%kernel.project_dir%/importmap.php"
- * importmap_polyfill?: scalar|null|Param, // The importmap name that will be used to load the polyfill. Set to false to disable. // Default: "es-module-shims"
- * importmap_script_attributes?: array,
- * vendor_dir?: scalar|null|Param, // The directory to store JavaScript vendors. // Default: "%kernel.project_dir%/assets/vendor"
+ * extensions?: array,
+ * importmap_path?: scalar|Param|null, // The path of the importmap.php file. // Default: "%kernel.project_dir%/importmap.php"
+ * 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"
+ * importmap_script_attributes?: array,
+ * vendor_dir?: scalar|Param|null, // The directory to store JavaScript vendors. // Default: "%kernel.project_dir%/assets/vendor"
* precompress?: bool|array{ // Precompress assets with Brotli, Zstandard and gzip.
* enabled?: bool|Param, // Default: false
- * formats?: list,
- * extensions?: list,
+ * formats?: list,
+ * extensions?: list,
* },
* },
* translator?: bool|array{ // Translator configuration
* enabled?: bool|Param, // Default: false
- * fallbacks?: list,
+ * fallbacks?: list,
* logging?: bool|Param, // Default: false
- * formatter?: scalar|null|Param, // Default: "translator.formatter.default"
- * cache_dir?: scalar|null|Param, // Default: "%kernel.cache_dir%/translations"
- * default_path?: scalar|null|Param, // The default path used to load translations. // Default: "%kernel.project_dir%/translations"
- * paths?: list,
+ * formatter?: scalar|Param|null, // Default: "translator.formatter.default"
+ * cache_dir?: scalar|Param|null, // Default: "%kernel.cache_dir%/translations"
+ * default_path?: scalar|Param|null, // The default path used to load translations. // Default: "%kernel.project_dir%/translations"
+ * paths?: list,
* pseudo_localization?: bool|array{
* enabled?: bool|Param, // Default: false
* accents?: bool|Param, // Default: true
* expansion_factor?: float|Param, // Default: 1.0
* brackets?: bool|Param, // Default: true
* parse_html?: bool|Param, // Default: false
- * localizable_html_attributes?: list,
+ * localizable_html_attributes?: list,
* },
* providers?: array,
- * locales?: list,
+ * dsn?: scalar|Param|null,
+ * domains?: list,
+ * locales?: list,
* }>,
* globals?: array,
+ * parameters?: array,
* domain?: string|Param,
* }>,
* },
* validation?: bool|array{ // Validation configuration
* enabled?: bool|Param, // Default: true
* enable_attributes?: bool|Param, // Default: true
- * static_method?: list,
- * translation_domain?: scalar|null|Param, // Default: "validators"
+ * static_method?: list,
+ * translation_domain?: scalar|Param|null, // Default: "validators"
* email_validation_mode?: "html5"|"html5-allow-no-tld"|"strict"|Param, // Default: "html5"
* mapping?: array{
- * paths?: list,
+ * paths?: list,
* },
* not_compromised_password?: bool|array{
* enabled?: bool|Param, // When disabled, compromised passwords will be accepted as valid. // Default: true
- * endpoint?: scalar|null|Param, // API endpoint for the NotCompromisedPassword Validator. // Default: null
+ * endpoint?: scalar|Param|null, // API endpoint for the NotCompromisedPassword Validator. // Default: null
* },
* disable_translation?: bool|Param, // Default: false
* auto_mapping?: array,
+ * services?: list,
* }>,
* },
* serializer?: bool|array{ // Serializer configuration
* enabled?: bool|Param, // Default: true
* enable_attributes?: bool|Param, // Default: true
- * name_converter?: scalar|null|Param,
- * circular_reference_handler?: scalar|null|Param,
- * max_depth_handler?: scalar|null|Param,
+ * name_converter?: scalar|Param|null,
+ * circular_reference_handler?: scalar|Param|null,
+ * max_depth_handler?: scalar|Param|null,
* mapping?: array{
- * paths?: list,
+ * paths?: list,
* },
* default_context?: list,
* named_serializers?: array,
* include_built_in_normalizers?: bool|Param, // Whether to include the built-in normalizers // Default: true
* include_built_in_encoders?: bool|Param, // Whether to include the built-in encoders // Default: true
@@ -373,31 +373,31 @@ use Symfony\Component\Config\Loader\ParamConfigurator as Param;
* },
* type_info?: bool|array{ // Type info configuration
* enabled?: bool|Param, // Default: true
- * aliases?: array,
+ * aliases?: array,
* },
* property_info?: bool|array{ // Property info configuration
* enabled?: bool|Param, // Default: true
* with_constructor_extractor?: bool|Param, // Registers the constructor extractor. // Default: true
* },
* cache?: array{ // Cache configuration
- * prefix_seed?: scalar|null|Param, // Used to namespace cache keys when using several apps with the same shared backend. // Default: "_%kernel.project_dir%.%kernel.container_class%"
- * app?: scalar|null|Param, // App related cache pools configuration. // Default: "cache.adapter.filesystem"
- * system?: scalar|null|Param, // System related cache pools configuration. // Default: "cache.adapter.system"
- * directory?: scalar|null|Param, // Default: "%kernel.share_dir%/pools/app"
- * default_psr6_provider?: scalar|null|Param,
- * default_redis_provider?: scalar|null|Param, // Default: "redis://localhost"
- * default_valkey_provider?: scalar|null|Param, // Default: "valkey://localhost"
- * default_memcached_provider?: scalar|null|Param, // Default: "memcached://localhost"
- * default_doctrine_dbal_provider?: scalar|null|Param, // Default: "database_connection"
- * default_pdo_provider?: scalar|null|Param, // Default: null
+ * 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%"
+ * app?: scalar|Param|null, // App related cache pools configuration. // Default: "cache.adapter.filesystem"
+ * system?: scalar|Param|null, // System related cache pools configuration. // Default: "cache.adapter.system"
+ * directory?: scalar|Param|null, // Default: "%kernel.share_dir%/pools/app"
+ * default_psr6_provider?: scalar|Param|null,
+ * default_redis_provider?: scalar|Param|null, // Default: "redis://localhost"
+ * default_valkey_provider?: scalar|Param|null, // Default: "valkey://localhost"
+ * default_memcached_provider?: scalar|Param|null, // Default: "memcached://localhost"
+ * default_doctrine_dbal_provider?: scalar|Param|null, // Default: "database_connection"
+ * default_pdo_provider?: scalar|Param|null, // Default: null
* pools?: array,
- * tags?: scalar|null|Param, // Default: null
+ * adapters?: list,
+ * tags?: scalar|Param|null, // Default: null
* public?: bool|Param, // Default: false
- * default_lifetime?: scalar|null|Param, // Default lifetime of the pool.
- * provider?: scalar|null|Param, // Overwrite the setting from the default provider for this adapter.
- * early_expiration_message_bus?: scalar|null|Param,
- * clearer?: scalar|null|Param,
+ * default_lifetime?: scalar|Param|null, // Default lifetime of the pool.
+ * provider?: scalar|Param|null, // Overwrite the setting from the default provider for this adapter.
+ * early_expiration_message_bus?: scalar|Param|null,
+ * clearer?: scalar|Param|null,
* }>,
* },
* php_errors?: array{ // PHP errors handling configuration
@@ -405,51 +405,51 @@ use Symfony\Component\Config\Loader\ParamConfigurator as Param;
* throw?: bool|Param, // Throw PHP errors as \ErrorException instances. // Default: true
* },
* exceptions?: array,
* web_link?: bool|array{ // Web links configuration
* enabled?: bool|Param, // Default: true
* },
* lock?: bool|string|array{ // Lock configuration
* enabled?: bool|Param, // Default: false
- * resources?: array>,
+ * resources?: array>,
* },
* semaphore?: bool|string|array{ // Semaphore configuration
* enabled?: bool|Param, // Default: false
- * resources?: array,
+ * resources?: array,
* },
* messenger?: bool|array{ // Messenger configuration
* enabled?: bool|Param, // Default: false
* routing?: array,
+ * senders?: list,
* }>,
* serializer?: array{
- * default_serializer?: scalar|null|Param, // Service id to use as the default serializer for the transports. // Default: "messenger.transport.native_php_serializer"
+ * default_serializer?: scalar|Param|null, // Service id to use as the default serializer for the transports. // Default: "messenger.transport.native_php_serializer"
* symfony_serializer?: array{
- * format?: scalar|null|Param, // Serialization format for the messenger.transport.symfony_serializer service (which is not the serializer used by default). // Default: "json"
+ * format?: scalar|Param|null, // Serialization format for the messenger.transport.symfony_serializer service (which is not the serializer used by default). // Default: "json"
* context?: array,
* },
* },
* transports?: array,
- * failure_transport?: scalar|null|Param, // Transport name to send failed messages to (after all retries have failed). // Default: null
+ * failure_transport?: scalar|Param|null, // Transport name to send failed messages to (after all retries have failed). // Default: null
* retry_strategy?: string|array{
- * service?: scalar|null|Param, // Service id to override the retry strategy entirely. // Default: null
+ * service?: scalar|Param|null, // Service id to override the retry strategy entirely. // Default: null
* max_retries?: int|Param, // Default: 3
* delay?: int|Param, // Time in ms to delay (or the initial value when multiplier is used). // Default: 1000
* multiplier?: float|Param, // If greater than 1, delay will grow exponentially for each retry: this delay = (delay * (multiple ^ retries)). // Default: 2
* max_delay?: int|Param, // Max time in ms that a retry should ever be delayed (0 = infinite). // Default: 0
* jitter?: float|Param, // Randomness to apply to the delay (between 0 and 1). // Default: 0.1
* },
- * rate_limiter?: scalar|null|Param, // Rate limiter name to use when processing messages. // Default: null
+ * rate_limiter?: scalar|Param|null, // Rate limiter name to use when processing messages. // Default: null
* }>,
- * failure_transport?: scalar|null|Param, // Transport name to send failed messages to (after all retries have failed). // Default: null
- * stop_worker_on_signals?: list,
- * default_bus?: scalar|null|Param, // Default: null
+ * failure_transport?: scalar|Param|null, // Transport name to send failed messages to (after all retries have failed). // Default: null
+ * stop_worker_on_signals?: list,
+ * default_bus?: scalar|Param|null, // Default: null
* buses?: array,
* }>,
* }>,
@@ -473,29 +473,29 @@ use Symfony\Component\Config\Loader\ParamConfigurator as Param;
* headers?: array,
* vars?: array,
* max_redirects?: int|Param, // The maximum number of redirects to follow.
- * http_version?: scalar|null|Param, // The default HTTP version, typically 1.1 or 2.0, leave to null for the best version.
- * resolve?: array,
- * proxy?: scalar|null|Param, // The URL of the proxy to pass requests through or null for automatic detection.
- * no_proxy?: scalar|null|Param, // A comma separated list of hosts that do not require a proxy to be reached.
+ * http_version?: scalar|Param|null, // The default HTTP version, typically 1.1 or 2.0, leave to null for the best version.
+ * resolve?: array,
+ * proxy?: scalar|Param|null, // The URL of the proxy to pass requests through or null for automatic detection.
+ * no_proxy?: scalar|Param|null, // A comma separated list of hosts that do not require a proxy to be reached.
* timeout?: float|Param, // The idle timeout, defaults to the "default_socket_timeout" ini parameter.
* max_duration?: float|Param, // The maximum execution time for the request+response as a whole.
- * bindto?: scalar|null|Param, // A network interface name, IP address, a host name or a UNIX socket to bind to.
+ * bindto?: scalar|Param|null, // A network interface name, IP address, a host name or a UNIX socket to bind to.
* verify_peer?: bool|Param, // Indicates if the peer should be verified in a TLS context.
* verify_host?: bool|Param, // Indicates if the host should exist as a certificate common name.
- * cafile?: scalar|null|Param, // A certificate authority file.
- * capath?: scalar|null|Param, // A directory that contains multiple certificate authority files.
- * local_cert?: scalar|null|Param, // A PEM formatted certificate file.
- * local_pk?: scalar|null|Param, // A private key file.
- * passphrase?: scalar|null|Param, // The passphrase used to encrypt the "local_pk" file.
- * ciphers?: scalar|null|Param, // A list of TLS ciphers separated by colons, commas or spaces (e.g. "RC3-SHA:TLS13-AES-128-GCM-SHA256"...)
+ * cafile?: scalar|Param|null, // A certificate authority file.
+ * capath?: scalar|Param|null, // A directory that contains multiple certificate authority files.
+ * local_cert?: scalar|Param|null, // A PEM formatted certificate file.
+ * local_pk?: scalar|Param|null, // A private key file.
+ * passphrase?: scalar|Param|null, // The passphrase used to encrypt the "local_pk" file.
+ * ciphers?: scalar|Param|null, // A list of TLS ciphers separated by colons, commas or spaces (e.g. "RC3-SHA:TLS13-AES-128-GCM-SHA256"...)
* peer_fingerprint?: array{ // Associative array: hashing algorithm => hash(es).
* sha1?: mixed,
* pin-sha256?: mixed,
* md5?: mixed,
* },
- * crypto_method?: scalar|null|Param, // The minimum version of TLS to accept; must be one of STREAM_CRYPTO_METHOD_TLSv*_CLIENT constants.
+ * crypto_method?: scalar|Param|null, // The minimum version of TLS to accept; must be one of STREAM_CRYPTO_METHOD_TLSv*_CLIENT constants.
* extra?: array,
- * rate_limiter?: scalar|null|Param, // Rate limiter name to use for throttling requests. // Default: null
+ * rate_limiter?: scalar|Param|null, // Rate limiter name to use for throttling requests. // Default: null
* caching?: bool|array{ // Caching configuration.
* enabled?: bool|Param, // Default: false
* cache_pool?: string|Param, // The taggable cache pool to use for storing the responses. // Default: "cache.http_client"
@@ -504,7 +504,7 @@ use Symfony\Component\Config\Loader\ParamConfigurator as Param;
* },
* retry_failed?: bool|array{
* enabled?: bool|Param, // Default: false
- * retry_strategy?: scalar|null|Param, // service id to override the retry strategy. // Default: null
+ * retry_strategy?: scalar|Param|null, // service id to override the retry strategy. // Default: null
* http_codes?: array,
@@ -516,39 +516,39 @@ use Symfony\Component\Config\Loader\ParamConfigurator as Param;
* jitter?: float|Param, // Randomness in percent (between 0 and 1) to apply to the delay. // Default: 0.1
* },
* },
- * mock_response_factory?: scalar|null|Param, // The id of the service that should generate mock responses. It should be either an invokable or an iterable.
+ * 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.
* scoped_clients?: array,
+ * 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.
+ * base_uri?: scalar|Param|null, // The URI to resolve relative URLs, following rules in RFC 3985, section 2.
+ * auth_basic?: scalar|Param|null, // An HTTP Basic authentication "username:password".
+ * auth_bearer?: scalar|Param|null, // A token enabling HTTP Bearer authorization.
+ * auth_ntlm?: scalar|Param|null, // A "username:password" pair to use Microsoft NTLM authentication (requires the cURL extension).
+ * query?: array,
* headers?: array,
* max_redirects?: int|Param, // The maximum number of redirects to follow.
- * http_version?: scalar|null|Param, // The default HTTP version, typically 1.1 or 2.0, leave to null for the best version.
- * resolve?: array,
- * proxy?: scalar|null|Param, // The URL of the proxy to pass requests through or null for automatic detection.
- * no_proxy?: scalar|null|Param, // A comma separated list of hosts that do not require a proxy to be reached.
+ * http_version?: scalar|Param|null, // The default HTTP version, typically 1.1 or 2.0, leave to null for the best version.
+ * resolve?: array,
+ * proxy?: scalar|Param|null, // The URL of the proxy to pass requests through or null for automatic detection.
+ * no_proxy?: scalar|Param|null, // A comma separated list of hosts that do not require a proxy to be reached.
* timeout?: float|Param, // The idle timeout, defaults to the "default_socket_timeout" ini parameter.
* max_duration?: float|Param, // The maximum execution time for the request+response as a whole.
- * bindto?: scalar|null|Param, // A network interface name, IP address, a host name or a UNIX socket to bind to.
+ * bindto?: scalar|Param|null, // A network interface name, IP address, a host name or a UNIX socket to bind to.
* verify_peer?: bool|Param, // Indicates if the peer should be verified in a TLS context.
* verify_host?: bool|Param, // Indicates if the host should exist as a certificate common name.
- * cafile?: scalar|null|Param, // A certificate authority file.
- * capath?: scalar|null|Param, // A directory that contains multiple certificate authority files.
- * local_cert?: scalar|null|Param, // A PEM formatted certificate file.
- * local_pk?: scalar|null|Param, // A private key file.
- * passphrase?: scalar|null|Param, // The passphrase used to encrypt the "local_pk" file.
- * ciphers?: scalar|null|Param, // A list of TLS ciphers separated by colons, commas or spaces (e.g. "RC3-SHA:TLS13-AES-128-GCM-SHA256"...).
+ * cafile?: scalar|Param|null, // A certificate authority file.
+ * capath?: scalar|Param|null, // A directory that contains multiple certificate authority files.
+ * local_cert?: scalar|Param|null, // A PEM formatted certificate file.
+ * local_pk?: scalar|Param|null, // A private key file.
+ * passphrase?: scalar|Param|null, // The passphrase used to encrypt the "local_pk" file.
+ * ciphers?: scalar|Param|null, // A list of TLS ciphers separated by colons, commas or spaces (e.g. "RC3-SHA:TLS13-AES-128-GCM-SHA256"...).
* peer_fingerprint?: array{ // Associative array: hashing algorithm => hash(es).
* sha1?: mixed,
* pin-sha256?: mixed,
* md5?: mixed,
* },
- * crypto_method?: scalar|null|Param, // The minimum version of TLS to accept; must be one of STREAM_CRYPTO_METHOD_TLSv*_CLIENT constants.
+ * crypto_method?: scalar|Param|null, // The minimum version of TLS to accept; must be one of STREAM_CRYPTO_METHOD_TLSv*_CLIENT constants.
* extra?: array,
- * rate_limiter?: scalar|null|Param, // Rate limiter name to use for throttling requests. // Default: null
+ * rate_limiter?: scalar|Param|null, // Rate limiter name to use for throttling requests. // Default: null
* caching?: bool|array{ // Caching configuration.
* enabled?: bool|Param, // Default: false
* cache_pool?: string|Param, // The taggable cache pool to use for storing the responses. // Default: "cache.http_client"
@@ -557,7 +557,7 @@ use Symfony\Component\Config\Loader\ParamConfigurator as Param;
* },
* retry_failed?: bool|array{
* enabled?: bool|Param, // Default: false
- * retry_strategy?: scalar|null|Param, // service id to override the retry strategy. // Default: null
+ * retry_strategy?: scalar|Param|null, // service id to override the retry strategy. // Default: null
* http_codes?: array,
@@ -572,69 +572,69 @@ use Symfony\Component\Config\Loader\ParamConfigurator as Param;
* },
* mailer?: bool|array{ // Mailer configuration
* enabled?: bool|Param, // Default: false
- * message_bus?: scalar|null|Param, // The message bus to use. Defaults to the default bus if the Messenger component is installed. // Default: null
- * dsn?: scalar|null|Param, // Default: null
- * transports?: array,
+ * message_bus?: scalar|Param|null, // The message bus to use. Defaults to the default bus if the Messenger component is installed. // Default: null
+ * dsn?: scalar|Param|null, // Default: null
+ * transports?: array,
* envelope?: array{ // Mailer Envelope configuration
- * sender?: scalar|null|Param,
- * recipients?: list,
- * allowed_recipients?: list,
+ * sender?: scalar|Param|null,
+ * recipients?: list,
+ * allowed_recipients?: list,
* },
* headers?: array,
* dkim_signer?: bool|array{ // DKIM signer configuration
* enabled?: bool|Param, // Default: false
- * key?: scalar|null|Param, // Key content, or path to key (in PEM format with the `file://` prefix) // Default: ""
- * domain?: scalar|null|Param, // Default: ""
- * select?: scalar|null|Param, // Default: ""
- * passphrase?: scalar|null|Param, // The private key passphrase // Default: ""
+ * key?: scalar|Param|null, // Key content, or path to key (in PEM format with the `file://` prefix) // Default: ""
+ * domain?: scalar|Param|null, // Default: ""
+ * select?: scalar|Param|null, // Default: ""
+ * passphrase?: scalar|Param|null, // The private key passphrase // Default: ""
* options?: array,
* },
* smime_signer?: bool|array{ // S/MIME signer configuration
* enabled?: bool|Param, // Default: false
- * key?: scalar|null|Param, // Path to key (in PEM format) // Default: ""
- * certificate?: scalar|null|Param, // Path to certificate (in PEM format without the `file://` prefix) // Default: ""
- * passphrase?: scalar|null|Param, // The private key passphrase // Default: null
- * extra_certificates?: scalar|null|Param, // Default: null
+ * key?: scalar|Param|null, // Path to key (in PEM format) // Default: ""
+ * certificate?: scalar|Param|null, // Path to certificate (in PEM format without the `file://` prefix) // Default: ""
+ * passphrase?: scalar|Param|null, // The private key passphrase // Default: null
+ * extra_certificates?: scalar|Param|null, // Default: null
* sign_options?: int|Param, // Default: null
* },
* smime_encrypter?: bool|array{ // S/MIME encrypter configuration
* enabled?: bool|Param, // Default: false
- * repository?: scalar|null|Param, // S/MIME certificate repository service. This service shall implement the `Symfony\Component\Mailer\EventListener\SmimeCertificateRepositoryInterface`. // Default: ""
+ * repository?: scalar|Param|null, // S/MIME certificate repository service. This service shall implement the `Symfony\Component\Mailer\EventListener\SmimeCertificateRepositoryInterface`. // Default: ""
* cipher?: int|Param, // A set of algorithms used to encrypt the message // Default: null
* },
* },
* secrets?: bool|array{
* enabled?: bool|Param, // Default: true
- * vault_directory?: scalar|null|Param, // Default: "%kernel.project_dir%/config/secrets/%kernel.runtime_environment%"
- * local_dotenv_file?: scalar|null|Param, // Default: "%kernel.project_dir%/.env.%kernel.runtime_environment%.local"
- * decryption_env_var?: scalar|null|Param, // Default: "base64:default::SYMFONY_DECRYPTION_SECRET"
+ * vault_directory?: scalar|Param|null, // Default: "%kernel.project_dir%/config/secrets/%kernel.runtime_environment%"
+ * local_dotenv_file?: scalar|Param|null, // Default: "%kernel.project_dir%/.env.%kernel.environment%.local"
+ * decryption_env_var?: scalar|Param|null, // Default: "base64:default::SYMFONY_DECRYPTION_SECRET"
* },
* notifier?: bool|array{ // Notifier configuration
* enabled?: bool|Param, // Default: false
- * message_bus?: scalar|null|Param, // The message bus to use. Defaults to the default bus if the Messenger component is installed. // Default: null
- * chatter_transports?: array,
- * texter_transports?: array,
+ * message_bus?: scalar|Param|null, // The message bus to use. Defaults to the default bus if the Messenger component is installed. // Default: null
+ * chatter_transports?: array,
+ * texter_transports?: array,
* notification_on_failed_messages?: bool|Param, // Default: false
- * channel_policy?: array>,
+ * channel_policy?: array>,
* admin_recipients?: list,
* },
* rate_limiter?: bool|array{ // Rate limiter configuration
* enabled?: bool|Param, // Default: false
* limiters?: array,
+ * limiters?: list,
* limit?: int|Param, // The maximum allowed hits in a fixed interval or burst.
- * interval?: scalar|null|Param, // 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).
+ * 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).
* rate?: array{ // Configures the fill rate if "policy" is set to "token_bucket".
- * interval?: scalar|null|Param, // Configures the rate interval. The value must be a number followed by "second", "minute", "hour", "day", "week" or "month" (or their plural equivalent).
+ * 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).
* amount?: int|Param, // Amount of tokens to add each interval. // Default: 1
* },
* }>,
@@ -643,9 +643,9 @@ use Symfony\Component\Config\Loader\ParamConfigurator as Param;
* enabled?: bool|Param, // Default: true
* default_uuid_version?: 7|6|4|1|Param, // Default: 7
* name_based_uuid_version?: 5|3|Param, // Default: 5
- * name_based_uuid_namespace?: scalar|null|Param,
+ * name_based_uuid_namespace?: scalar|Param|null,
* time_based_uuid_version?: 7|6|1|Param, // Default: 7
- * time_based_uuid_node?: scalar|null|Param,
+ * time_based_uuid_node?: scalar|Param|null,
* },
* html_sanitizer?: bool|array{ // HtmlSanitizer configuration
* enabled?: bool|Param, // Default: false
@@ -672,10 +672,10 @@ use Symfony\Component\Config\Loader\ParamConfigurator as Param;
* },
* webhook?: bool|array{ // Webhook configuration
* enabled?: bool|Param, // Default: false
- * message_bus?: scalar|null|Param, // The message bus to use. // Default: "messenger.default_bus"
+ * message_bus?: scalar|Param|null, // The message bus to use. // Default: "messenger.default_bus"
* routing?: array,
* },
* remote-event?: bool|array{ // RemoteEvent configuration
@@ -686,439 +686,439 @@ use Symfony\Component\Config\Loader\ParamConfigurator as Param;
* },
* }
* @psalm-type TwigConfig = array{
- * form_themes?: list,
+ * form_themes?: list,
* globals?: array,
- * autoescape_service?: scalar|null|Param, // Default: null
- * autoescape_service_method?: scalar|null|Param, // Default: null
- * cache?: scalar|null|Param, // Default: true
- * charset?: scalar|null|Param, // Default: "%kernel.charset%"
+ * autoescape_service?: scalar|Param|null, // Default: null
+ * autoescape_service_method?: scalar|Param|null, // Default: null
+ * cache?: scalar|Param|null, // Default: true
+ * charset?: scalar|Param|null, // Default: "%kernel.charset%"
* debug?: bool|Param, // Default: "%kernel.debug%"
* strict_variables?: bool|Param, // Default: "%kernel.debug%"
- * auto_reload?: scalar|null|Param,
+ * auto_reload?: scalar|Param|null,
* optimizations?: int|Param,
- * default_path?: scalar|null|Param, // The default path used to load templates. // Default: "%kernel.project_dir%/templates"
- * file_name_pattern?: list,
+ * default_path?: scalar|Param|null, // The default path used to load templates. // Default: "%kernel.project_dir%/templates"
+ * file_name_pattern?: list,
* paths?: array,
* date?: array{ // The default format options used by the date filter.
- * format?: scalar|null|Param, // Default: "F j, Y H:i"
- * interval_format?: scalar|null|Param, // Default: "%d days"
- * timezone?: scalar|null|Param, // The timezone used when formatting dates, when set to null, the timezone returned by date_default_timezone_get() is used. // Default: null
+ * format?: scalar|Param|null, // Default: "F j, Y H:i"
+ * interval_format?: scalar|Param|null, // Default: "%d days"
+ * 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
* },
* number_format?: array{ // The default format options for the number_format filter.
* decimals?: int|Param, // Default: 0
- * decimal_point?: scalar|null|Param, // Default: "."
- * thousands_separator?: scalar|null|Param, // Default: ","
+ * decimal_point?: scalar|Param|null, // Default: "."
+ * thousands_separator?: scalar|Param|null, // Default: ","
* },
* mailer?: array{
- * html_to_text_converter?: scalar|null|Param, // A service implementing the "Symfony\Component\Mime\HtmlToTextConverter\HtmlToTextConverterInterface". // Default: null
+ * html_to_text_converter?: scalar|Param|null, // A service implementing the "Symfony\Component\Mime\HtmlToTextConverter\HtmlToTextConverterInterface". // Default: null
* },
* }
* @psalm-type SecurityConfig = array{
- * access_denied_url?: scalar|null|Param, // Default: null
+ * access_denied_url?: scalar|Param|null, // Default: null
* session_fixation_strategy?: "none"|"migrate"|"invalidate"|Param, // Default: "migrate"
* 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"
* erase_credentials?: bool|Param, // Default: true
* access_decision_manager?: array{
* strategy?: "affirmative"|"consensus"|"unanimous"|"priority"|Param,
- * service?: scalar|null|Param,
- * strategy_service?: scalar|null|Param,
+ * service?: scalar|Param|null,
+ * strategy_service?: scalar|Param|null,
* allow_if_all_abstain?: bool|Param, // Default: false
* allow_if_equal_granted_denied?: bool|Param, // Default: true
* },
* password_hashers?: array,
- * hash_algorithm?: scalar|null|Param, // Name of hashing algorithm for PBKDF2 (i.e. sha256, sha512, etc..) See hash_algos() for a list of supported algorithms. // Default: "sha512"
- * key_length?: scalar|null|Param, // Default: 40
+ * algorithm?: scalar|Param|null,
+ * migrate_from?: list,
+ * 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"
+ * key_length?: scalar|Param|null, // Default: 40
* ignore_case?: bool|Param, // Default: false
* encode_as_base64?: bool|Param, // Default: true
- * iterations?: scalar|null|Param, // Default: 5000
+ * iterations?: scalar|Param|null, // Default: 5000
* cost?: int|Param, // Default: null
- * memory_cost?: scalar|null|Param, // Default: null
- * time_cost?: scalar|null|Param, // Default: null
- * id?: scalar|null|Param,
+ * memory_cost?: scalar|Param|null, // Default: null
+ * time_cost?: scalar|Param|null, // Default: null
+ * id?: scalar|Param|null,
* }>,
* providers?: array,
+ * providers?: list,
* },
* memory?: array{
* users?: array,
+ * password?: scalar|Param|null, // Default: null
+ * roles?: list,
* }>,
* },
* ldap?: array{
- * service: scalar|null|Param,
- * base_dn: scalar|null|Param,
- * search_dn?: scalar|null|Param, // Default: null
- * search_password?: scalar|null|Param, // Default: null
- * extra_fields?: list,
- * default_roles?: list,
- * role_fetcher?: scalar|null|Param, // Default: null
- * uid_key?: scalar|null|Param, // Default: "sAMAccountName"
- * filter?: scalar|null|Param, // Default: "({uid_key}={user_identifier})"
- * password_attribute?: scalar|null|Param, // Default: null
+ * service: scalar|Param|null,
+ * base_dn: scalar|Param|null,
+ * search_dn?: scalar|Param|null, // Default: null
+ * search_password?: scalar|Param|null, // Default: null
+ * extra_fields?: list,
+ * default_roles?: list,
+ * role_fetcher?: scalar|Param|null, // Default: null
+ * uid_key?: scalar|Param|null, // Default: "sAMAccountName"
+ * filter?: scalar|Param|null, // Default: "({uid_key}={user_identifier})"
+ * password_attribute?: scalar|Param|null, // Default: null
* },
* entity?: array{
- * class: scalar|null|Param, // The full entity class name of your user class.
- * property?: scalar|null|Param, // Default: null
- * manager_name?: scalar|null|Param, // Default: null
+ * class: scalar|Param|null, // The full entity class name of your user class.
+ * property?: scalar|Param|null, // Default: null
+ * manager_name?: scalar|Param|null, // Default: null
* },
* lexik_jwt?: array{
- * class?: scalar|null|Param, // Default: "Lexik\\Bundle\\JWTAuthenticationBundle\\Security\\User\\JWTUser"
+ * class?: scalar|Param|null, // Default: "Lexik\\Bundle\\JWTAuthenticationBundle\\Security\\User\\JWTUser"
* },
* }>,
* firewalls: array,
+ * pattern?: scalar|Param|null,
+ * host?: scalar|Param|null,
+ * methods?: list,
* security?: bool|Param, // Default: true
- * user_checker?: scalar|null|Param, // The UserChecker to use when authenticating users in this firewall. // Default: "security.user_checker"
- * request_matcher?: scalar|null|Param,
- * access_denied_url?: scalar|null|Param,
- * access_denied_handler?: scalar|null|Param,
- * entry_point?: scalar|null|Param, // An enabled authenticator name or a service id that implements "Symfony\Component\Security\Http\EntryPoint\AuthenticationEntryPointInterface".
- * provider?: scalar|null|Param,
+ * user_checker?: scalar|Param|null, // The UserChecker to use when authenticating users in this firewall. // Default: "security.user_checker"
+ * request_matcher?: scalar|Param|null,
+ * access_denied_url?: scalar|Param|null,
+ * access_denied_handler?: scalar|Param|null,
+ * entry_point?: scalar|Param|null, // An enabled authenticator name or a service id that implements "Symfony\Component\Security\Http\EntryPoint\AuthenticationEntryPointInterface".
+ * provider?: scalar|Param|null,
* stateless?: bool|Param, // Default: false
* lazy?: bool|Param, // Default: false
- * context?: scalar|null|Param,
+ * context?: scalar|Param|null,
* logout?: array{
- * enable_csrf?: bool|null|Param, // Default: null
- * csrf_token_id?: scalar|null|Param, // Default: "logout"
- * csrf_parameter?: scalar|null|Param, // Default: "_csrf_token"
- * csrf_token_manager?: scalar|null|Param,
- * path?: scalar|null|Param, // Default: "/logout"
- * target?: scalar|null|Param, // Default: "/"
+ * enable_csrf?: bool|Param|null, // Default: null
+ * csrf_token_id?: scalar|Param|null, // Default: "logout"
+ * csrf_parameter?: scalar|Param|null, // Default: "_csrf_token"
+ * csrf_token_manager?: scalar|Param|null,
+ * path?: scalar|Param|null, // Default: "/logout"
+ * target?: scalar|Param|null, // Default: "/"
* invalidate_session?: bool|Param, // Default: true
* clear_site_data?: list<"*"|"cache"|"cookies"|"storage"|"executionContexts"|Param>,
* delete_cookies?: array,
* },
* switch_user?: array{
- * provider?: scalar|null|Param,
- * parameter?: scalar|null|Param, // Default: "_switch_user"
- * role?: scalar|null|Param, // Default: "ROLE_ALLOWED_TO_SWITCH"
- * target_route?: scalar|null|Param, // Default: null
+ * provider?: scalar|Param|null,
+ * parameter?: scalar|Param|null, // Default: "_switch_user"
+ * role?: scalar|Param|null, // Default: "ROLE_ALLOWED_TO_SWITCH"
+ * target_route?: scalar|Param|null, // Default: null
* },
- * required_badges?: list,
- * custom_authenticators?: list,
+ * required_badges?: list,
+ * custom_authenticators?: list,
* login_throttling?: array{
- * limiter?: scalar|null|Param, // A service id implementing "Symfony\Component\HttpFoundation\RateLimiter\RequestRateLimiterInterface".
+ * limiter?: scalar|Param|null, // A service id implementing "Symfony\Component\HttpFoundation\RateLimiter\RequestRateLimiterInterface".
* max_attempts?: int|Param, // Default: 5
- * interval?: scalar|null|Param, // Default: "1 minute"
- * lock_factory?: scalar|null|Param, // The service ID of the lock factory used by the login rate limiter (or null to disable locking). // Default: null
+ * interval?: scalar|Param|null, // Default: "1 minute"
+ * lock_factory?: scalar|Param|null, // The service ID of the lock factory used by the login rate limiter (or null to disable locking). // Default: null
* cache_pool?: string|Param, // The cache pool to use for storing the limiter state // Default: "cache.rate_limiter"
* storage_service?: string|Param, // The service ID of a custom storage implementation, this precedes any configured "cache_pool" // Default: null
* },
* x509?: array{
- * provider?: scalar|null|Param,
- * user?: scalar|null|Param, // Default: "SSL_CLIENT_S_DN_Email"
- * credentials?: scalar|null|Param, // Default: "SSL_CLIENT_S_DN"
- * user_identifier?: scalar|null|Param, // Default: "emailAddress"
+ * provider?: scalar|Param|null,
+ * user?: scalar|Param|null, // Default: "SSL_CLIENT_S_DN_Email"
+ * credentials?: scalar|Param|null, // Default: "SSL_CLIENT_S_DN"
+ * user_identifier?: scalar|Param|null, // Default: "emailAddress"
* },
* remote_user?: array{
- * provider?: scalar|null|Param,
- * user?: scalar|null|Param, // Default: "REMOTE_USER"
+ * provider?: scalar|Param|null,
+ * user?: scalar|Param|null, // Default: "REMOTE_USER"
* },
* jwt?: array{
- * provider?: scalar|null|Param, // Default: null
- * authenticator?: scalar|null|Param, // Default: "lexik_jwt_authentication.security.jwt_authenticator"
+ * provider?: scalar|Param|null, // Default: null
+ * authenticator?: scalar|Param|null, // Default: "lexik_jwt_authentication.security.jwt_authenticator"
* },
* login_link?: array{
- * check_route: scalar|null|Param, // Route that will validate the login link - e.g. "app_login_link_verify".
- * check_post_only?: scalar|null|Param, // If true, only HTTP POST requests to "check_route" will be handled by the authenticator. // Default: false
- * signature_properties: list,
+ * check_route: scalar|Param|null, // Route that will validate the login link - e.g. "app_login_link_verify".
+ * check_post_only?: scalar|Param|null, // If true, only HTTP POST requests to "check_route" will be handled by the authenticator. // Default: false
+ * signature_properties: list,
* lifetime?: int|Param, // The lifetime of the login link in seconds. // Default: 600
* max_uses?: int|Param, // Max number of times a login link can be used - null means unlimited within lifetime. // Default: null
- * used_link_cache?: scalar|null|Param, // Cache service id used to expired links of max_uses is set.
- * success_handler?: scalar|null|Param, // A service id that implements Symfony\Component\Security\Http\Authentication\AuthenticationSuccessHandlerInterface.
- * failure_handler?: scalar|null|Param, // A service id that implements Symfony\Component\Security\Http\Authentication\AuthenticationFailureHandlerInterface.
- * provider?: scalar|null|Param, // The user provider to load users from.
- * secret?: scalar|null|Param, // Default: "%kernel.secret%"
+ * used_link_cache?: scalar|Param|null, // Cache service id used to expired links of max_uses is set.
+ * success_handler?: scalar|Param|null, // A service id that implements Symfony\Component\Security\Http\Authentication\AuthenticationSuccessHandlerInterface.
+ * failure_handler?: scalar|Param|null, // A service id that implements Symfony\Component\Security\Http\Authentication\AuthenticationFailureHandlerInterface.
+ * provider?: scalar|Param|null, // The user provider to load users from.
+ * secret?: scalar|Param|null, // Default: "%kernel.secret%"
* always_use_default_target_path?: bool|Param, // Default: false
- * default_target_path?: scalar|null|Param, // Default: "/"
- * login_path?: scalar|null|Param, // Default: "/login"
- * target_path_parameter?: scalar|null|Param, // Default: "_target_path"
+ * default_target_path?: scalar|Param|null, // Default: "/"
+ * login_path?: scalar|Param|null, // Default: "/login"
+ * target_path_parameter?: scalar|Param|null, // Default: "_target_path"
* use_referer?: bool|Param, // Default: false
- * failure_path?: scalar|null|Param, // Default: null
+ * failure_path?: scalar|Param|null, // Default: null
* failure_forward?: bool|Param, // Default: false
- * failure_path_parameter?: scalar|null|Param, // Default: "_failure_path"
+ * failure_path_parameter?: scalar|Param|null, // Default: "_failure_path"
* },
* form_login?: array{
- * provider?: scalar|null|Param,
+ * provider?: scalar|Param|null,
* remember_me?: bool|Param, // Default: true
- * success_handler?: scalar|null|Param,
- * failure_handler?: scalar|null|Param,
- * check_path?: scalar|null|Param, // Default: "/login_check"
+ * success_handler?: scalar|Param|null,
+ * failure_handler?: scalar|Param|null,
+ * check_path?: scalar|Param|null, // Default: "/login_check"
* use_forward?: bool|Param, // Default: false
- * login_path?: scalar|null|Param, // Default: "/login"
- * username_parameter?: scalar|null|Param, // Default: "_username"
- * password_parameter?: scalar|null|Param, // Default: "_password"
- * csrf_parameter?: scalar|null|Param, // Default: "_csrf_token"
- * csrf_token_id?: scalar|null|Param, // Default: "authenticate"
+ * login_path?: scalar|Param|null, // Default: "/login"
+ * username_parameter?: scalar|Param|null, // Default: "_username"
+ * password_parameter?: scalar|Param|null, // Default: "_password"
+ * csrf_parameter?: scalar|Param|null, // Default: "_csrf_token"
+ * csrf_token_id?: scalar|Param|null, // Default: "authenticate"
* enable_csrf?: bool|Param, // Default: false
* post_only?: bool|Param, // Default: true
* form_only?: bool|Param, // Default: false
* always_use_default_target_path?: bool|Param, // Default: false
- * default_target_path?: scalar|null|Param, // Default: "/"
- * target_path_parameter?: scalar|null|Param, // Default: "_target_path"
+ * default_target_path?: scalar|Param|null, // Default: "/"
+ * target_path_parameter?: scalar|Param|null, // Default: "_target_path"
* use_referer?: bool|Param, // Default: false
- * failure_path?: scalar|null|Param, // Default: null
+ * failure_path?: scalar|Param|null, // Default: null
* failure_forward?: bool|Param, // Default: false
- * failure_path_parameter?: scalar|null|Param, // Default: "_failure_path"
+ * failure_path_parameter?: scalar|Param|null, // Default: "_failure_path"
* },
* form_login_ldap?: array{
- * provider?: scalar|null|Param,
+ * provider?: scalar|Param|null,
* remember_me?: bool|Param, // Default: true
- * success_handler?: scalar|null|Param,
- * failure_handler?: scalar|null|Param,
- * check_path?: scalar|null|Param, // Default: "/login_check"
+ * success_handler?: scalar|Param|null,
+ * failure_handler?: scalar|Param|null,
+ * check_path?: scalar|Param|null, // Default: "/login_check"
* use_forward?: bool|Param, // Default: false
- * login_path?: scalar|null|Param, // Default: "/login"
- * username_parameter?: scalar|null|Param, // Default: "_username"
- * password_parameter?: scalar|null|Param, // Default: "_password"
- * csrf_parameter?: scalar|null|Param, // Default: "_csrf_token"
- * csrf_token_id?: scalar|null|Param, // Default: "authenticate"
+ * login_path?: scalar|Param|null, // Default: "/login"
+ * username_parameter?: scalar|Param|null, // Default: "_username"
+ * password_parameter?: scalar|Param|null, // Default: "_password"
+ * csrf_parameter?: scalar|Param|null, // Default: "_csrf_token"
+ * csrf_token_id?: scalar|Param|null, // Default: "authenticate"
* enable_csrf?: bool|Param, // Default: false
* post_only?: bool|Param, // Default: true
* form_only?: bool|Param, // Default: false
* always_use_default_target_path?: bool|Param, // Default: false
- * default_target_path?: scalar|null|Param, // Default: "/"
- * target_path_parameter?: scalar|null|Param, // Default: "_target_path"
+ * default_target_path?: scalar|Param|null, // Default: "/"
+ * target_path_parameter?: scalar|Param|null, // Default: "_target_path"
* use_referer?: bool|Param, // Default: false
- * failure_path?: scalar|null|Param, // Default: null
+ * failure_path?: scalar|Param|null, // Default: null
* failure_forward?: bool|Param, // Default: false
- * failure_path_parameter?: scalar|null|Param, // Default: "_failure_path"
- * service?: scalar|null|Param, // Default: "ldap"
- * dn_string?: scalar|null|Param, // Default: "{user_identifier}"
- * query_string?: scalar|null|Param,
- * search_dn?: scalar|null|Param, // Default: ""
- * search_password?: scalar|null|Param, // Default: ""
+ * failure_path_parameter?: scalar|Param|null, // Default: "_failure_path"
+ * service?: scalar|Param|null, // Default: "ldap"
+ * dn_string?: scalar|Param|null, // Default: "{user_identifier}"
+ * query_string?: scalar|Param|null,
+ * search_dn?: scalar|Param|null, // Default: ""
+ * search_password?: scalar|Param|null, // Default: ""
* },
* json_login?: array{
- * provider?: scalar|null|Param,
+ * provider?: scalar|Param|null,
* remember_me?: bool|Param, // Default: true
- * success_handler?: scalar|null|Param,
- * failure_handler?: scalar|null|Param,
- * check_path?: scalar|null|Param, // Default: "/login_check"
+ * success_handler?: scalar|Param|null,
+ * failure_handler?: scalar|Param|null,
+ * check_path?: scalar|Param|null, // Default: "/login_check"
* use_forward?: bool|Param, // Default: false
- * login_path?: scalar|null|Param, // Default: "/login"
- * username_path?: scalar|null|Param, // Default: "username"
- * password_path?: scalar|null|Param, // Default: "password"
+ * login_path?: scalar|Param|null, // Default: "/login"
+ * username_path?: scalar|Param|null, // Default: "username"
+ * password_path?: scalar|Param|null, // Default: "password"
* },
* json_login_ldap?: array{
- * provider?: scalar|null|Param,
+ * provider?: scalar|Param|null,
* remember_me?: bool|Param, // Default: true
- * success_handler?: scalar|null|Param,
- * failure_handler?: scalar|null|Param,
- * check_path?: scalar|null|Param, // Default: "/login_check"
+ * success_handler?: scalar|Param|null,
+ * failure_handler?: scalar|Param|null,
+ * check_path?: scalar|Param|null, // Default: "/login_check"
* use_forward?: bool|Param, // Default: false
- * login_path?: scalar|null|Param, // Default: "/login"
- * username_path?: scalar|null|Param, // Default: "username"
- * password_path?: scalar|null|Param, // Default: "password"
- * service?: scalar|null|Param, // Default: "ldap"
- * dn_string?: scalar|null|Param, // Default: "{user_identifier}"
- * query_string?: scalar|null|Param,
- * search_dn?: scalar|null|Param, // Default: ""
- * search_password?: scalar|null|Param, // Default: ""
+ * login_path?: scalar|Param|null, // Default: "/login"
+ * username_path?: scalar|Param|null, // Default: "username"
+ * password_path?: scalar|Param|null, // Default: "password"
+ * service?: scalar|Param|null, // Default: "ldap"
+ * dn_string?: scalar|Param|null, // Default: "{user_identifier}"
+ * query_string?: scalar|Param|null,
+ * search_dn?: scalar|Param|null, // Default: ""
+ * search_password?: scalar|Param|null, // Default: ""
* },
* access_token?: array{
- * provider?: scalar|null|Param,
+ * provider?: scalar|Param|null,
* remember_me?: bool|Param, // Default: true
- * success_handler?: scalar|null|Param,
- * failure_handler?: scalar|null|Param,
- * realm?: scalar|null|Param, // Default: null
- * token_extractors?: list,
+ * success_handler?: scalar|Param|null,
+ * failure_handler?: scalar|Param|null,
+ * realm?: scalar|Param|null, // Default: null
+ * token_extractors?: list,
* token_handler: string|array{
- * id?: scalar|null|Param,
+ * id?: scalar|Param|null,
* oidc_user_info?: string|array{
- * base_uri: scalar|null|Param, // Base URI of the userinfo endpoint on the OIDC server, or the OIDC server URI to use the discovery (require "discovery" to be configured).
+ * 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).
* discovery?: array{ // Enable the OIDC discovery.
* cache?: array{
- * id: scalar|null|Param, // Cache service id to use to cache the OIDC discovery configuration.
+ * id: scalar|Param|null, // Cache service id to use to cache the OIDC discovery configuration.
* },
* },
- * claim?: scalar|null|Param, // Claim which contains the user identifier (e.g. sub, email, etc.). // Default: "sub"
- * client?: scalar|null|Param, // HttpClient service id to use to call the OIDC server.
+ * claim?: scalar|Param|null, // Claim which contains the user identifier (e.g. sub, email, etc.). // Default: "sub"
+ * client?: scalar|Param|null, // HttpClient service id to use to call the OIDC server.
* },
* oidc?: array{
* discovery?: array{ // Enable the OIDC discovery.
- * base_uri: list,
+ * base_uri: list,
* cache?: array{
- * id: scalar|null|Param, // Cache service id to use to cache the OIDC discovery configuration.
+ * id: scalar|Param|null, // Cache service id to use to cache the OIDC discovery configuration.
* },
* },
- * claim?: scalar|null|Param, // Claim which contains the user identifier (e.g.: sub, email..). // Default: "sub"
- * audience: scalar|null|Param, // Audience set in the token, for validation purpose.
- * issuers: list,
- * algorithms: list,
- * keyset?: scalar|null|Param, // JSON-encoded JWKSet used to sign the token (must contain a list of valid public keys).
+ * claim?: scalar|Param|null, // Claim which contains the user identifier (e.g.: sub, email..). // Default: "sub"
+ * audience: scalar|Param|null, // Audience set in the token, for validation purpose.
+ * issuers: list,
+ * algorithms: list,
+ * keyset?: scalar|Param|null, // JSON-encoded JWKSet used to sign the token (must contain a list of valid public keys).
* encryption?: bool|array{
* enabled?: bool|Param, // Default: false
* enforce?: bool|Param, // When enabled, the token shall be encrypted. // Default: false
- * algorithms: list,
- * keyset: scalar|null|Param, // JSON-encoded JWKSet used to decrypt the token (must contain a list of valid private keys).
+ * algorithms: list,
+ * keyset: scalar|Param|null, // JSON-encoded JWKSet used to decrypt the token (must contain a list of valid private keys).
* },
* },
* cas?: array{
- * validation_url: scalar|null|Param, // CAS server validation URL
- * prefix?: scalar|null|Param, // CAS prefix // Default: "cas"
- * http_client?: scalar|null|Param, // HTTP Client service // Default: null
+ * validation_url: scalar|Param|null, // CAS server validation URL
+ * prefix?: scalar|Param|null, // CAS prefix // Default: "cas"
+ * http_client?: scalar|Param|null, // HTTP Client service // Default: null
* },
- * oauth2?: scalar|null|Param,
+ * oauth2?: scalar|Param|null,
* },
* },
* http_basic?: array{
- * provider?: scalar|null|Param,
- * realm?: scalar|null|Param, // Default: "Secured Area"
+ * provider?: scalar|Param|null,
+ * realm?: scalar|Param|null, // Default: "Secured Area"
* },
* http_basic_ldap?: array{
- * provider?: scalar|null|Param,
- * realm?: scalar|null|Param, // Default: "Secured Area"
- * service?: scalar|null|Param, // Default: "ldap"
- * dn_string?: scalar|null|Param, // Default: "{user_identifier}"
- * query_string?: scalar|null|Param,
- * search_dn?: scalar|null|Param, // Default: ""
- * search_password?: scalar|null|Param, // Default: ""
+ * provider?: scalar|Param|null,
+ * realm?: scalar|Param|null, // Default: "Secured Area"
+ * service?: scalar|Param|null, // Default: "ldap"
+ * dn_string?: scalar|Param|null, // Default: "{user_identifier}"
+ * query_string?: scalar|Param|null,
+ * search_dn?: scalar|Param|null, // Default: ""
+ * search_password?: scalar|Param|null, // Default: ""
* },
* remember_me?: array{
- * secret?: scalar|null|Param, // Default: "%kernel.secret%"
- * service?: scalar|null|Param,
- * user_providers?: list,
+ * secret?: scalar|Param|null, // Default: "%kernel.secret%"
+ * service?: scalar|Param|null,
+ * user_providers?: list,
* catch_exceptions?: bool|Param, // Default: true
- * signature_properties?: list,
+ * signature_properties?: list,
* token_provider?: string|array{
- * service?: scalar|null|Param, // The service ID of a custom remember-me token provider.
+ * service?: scalar|Param|null, // The service ID of a custom remember-me token provider.
* doctrine?: bool|array{
* enabled?: bool|Param, // Default: false
- * connection?: scalar|null|Param, // Default: null
+ * connection?: scalar|Param|null, // Default: null
* },
* },
- * token_verifier?: scalar|null|Param, // The service ID of a custom rememberme token verifier.
- * name?: scalar|null|Param, // Default: "REMEMBERME"
+ * token_verifier?: scalar|Param|null, // The service ID of a custom rememberme token verifier.
+ * name?: scalar|Param|null, // Default: "REMEMBERME"
* lifetime?: int|Param, // Default: 31536000
- * path?: scalar|null|Param, // Default: "/"
- * domain?: scalar|null|Param, // Default: null
+ * path?: scalar|Param|null, // Default: "/"
+ * domain?: scalar|Param|null, // Default: null
* secure?: true|false|"auto"|Param, // Default: false
* httponly?: bool|Param, // Default: true
* samesite?: null|"lax"|"strict"|"none"|Param, // Default: null
* always_remember_me?: bool|Param, // Default: false
- * remember_me_parameter?: scalar|null|Param, // Default: "_remember_me"
+ * remember_me_parameter?: scalar|Param|null, // Default: "_remember_me"
* },
* }>,
* access_control?: list,
- * attributes?: array,
- * route?: scalar|null|Param, // Default: null
- * methods?: list,
- * allow_if?: scalar|null|Param, // Default: null
- * roles?: list,
+ * ips?: list,
+ * attributes?: array,
+ * route?: scalar|Param|null, // Default: null
+ * methods?: list,
+ * allow_if?: scalar|Param|null, // Default: null
+ * roles?: list,
* }>,
- * role_hierarchy?: array>,
+ * role_hierarchy?: array>,
* }
* @psalm-type DoctrineConfig = array{
* dbal?: array{
- * default_connection?: scalar|null|Param,
+ * default_connection?: scalar|Param|null,
* types?: array,
- * driver_schemes?: array,
+ * driver_schemes?: array,
* connections?: array,
- * mapping_types?: array,
- * default_table_options?: array,
- * schema_manager_factory?: scalar|null|Param, // Default: "doctrine.dbal.default_schema_manager_factory"
- * result_cache?: scalar|null|Param,
+ * mapping_types?: array,
+ * default_table_options?: array,
+ * schema_manager_factory?: scalar|Param|null, // Default: "doctrine.dbal.default_schema_manager_factory"
+ * result_cache?: scalar|Param|null,
* replicas?: array,
* }>,
* },
* orm?: array{
- * default_entity_manager?: scalar|null|Param,
+ * default_entity_manager?: scalar|Param|null,
* enable_native_lazy_objects?: bool|Param, // Deprecated: The "enable_native_lazy_objects" option is deprecated and will be removed in DoctrineBundle 4.0, as native lazy objects are now always enabled. // Default: true
* controller_resolver?: bool|array{
* enabled?: bool|Param, // Default: true
@@ -1127,242 +1127,242 @@ use Symfony\Component\Config\Loader\ParamConfigurator as Param;
* },
* entity_managers?: array,
* }>,
* }>,
* },
- * connection?: scalar|null|Param,
- * class_metadata_factory_name?: scalar|null|Param, // Default: "Doctrine\\ORM\\Mapping\\ClassMetadataFactory"
- * default_repository_class?: scalar|null|Param, // Default: "Doctrine\\ORM\\EntityRepository"
- * auto_mapping?: scalar|null|Param, // Default: false
- * naming_strategy?: scalar|null|Param, // Default: "doctrine.orm.naming_strategy.default"
- * quote_strategy?: scalar|null|Param, // Default: "doctrine.orm.quote_strategy.default"
- * typed_field_mapper?: scalar|null|Param, // Default: "doctrine.orm.typed_field_mapper.default"
- * entity_listener_resolver?: scalar|null|Param, // Default: null
- * fetch_mode_subselect_batch_size?: scalar|null|Param,
- * repository_factory?: scalar|null|Param, // Default: "doctrine.orm.container_repository_factory"
- * schema_ignore_classes?: list,
+ * connection?: scalar|Param|null,
+ * class_metadata_factory_name?: scalar|Param|null, // Default: "Doctrine\\ORM\\Mapping\\ClassMetadataFactory"
+ * default_repository_class?: scalar|Param|null, // Default: "Doctrine\\ORM\\EntityRepository"
+ * auto_mapping?: scalar|Param|null, // Default: false
+ * naming_strategy?: scalar|Param|null, // Default: "doctrine.orm.naming_strategy.default"
+ * quote_strategy?: scalar|Param|null, // Default: "doctrine.orm.quote_strategy.default"
+ * typed_field_mapper?: scalar|Param|null, // Default: "doctrine.orm.typed_field_mapper.default"
+ * entity_listener_resolver?: scalar|Param|null, // Default: null
+ * fetch_mode_subselect_batch_size?: scalar|Param|null,
+ * repository_factory?: scalar|Param|null, // Default: "doctrine.orm.container_repository_factory"
+ * schema_ignore_classes?: list,
* 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 and will be mandatory in ORM 3.0. See https://github.com/doctrine/orm/pull/6728. // Default: false
* second_level_cache?: array{
* region_cache_driver?: string|array{
- * type?: scalar|null|Param, // Default: null
- * id?: scalar|null|Param,
- * pool?: scalar|null|Param,
+ * type?: scalar|Param|null, // Default: null
+ * id?: scalar|Param|null,
+ * pool?: scalar|Param|null,
* },
- * region_lock_lifetime?: scalar|null|Param, // Default: 60
+ * region_lock_lifetime?: scalar|Param|null, // Default: 60
* log_enabled?: bool|Param, // Default: true
- * region_lifetime?: scalar|null|Param, // Default: 3600
+ * region_lifetime?: scalar|Param|null, // Default: 3600
* enabled?: bool|Param, // Default: true
- * factory?: scalar|null|Param,
+ * factory?: scalar|Param|null,
* regions?: array,
* loggers?: array,
* },
- * hydrators?: array,
+ * hydrators?: array,
* mappings?: array,
* dql?: array{
- * string_functions?: array,
- * numeric_functions?: array,
- * datetime_functions?: array,
+ * string_functions?: array,
+ * numeric_functions?: array,
+ * datetime_functions?: array,
* },
* filters?: array,
* }>,
- * identity_generation_preferences?: array,
+ * identity_generation_preferences?: array,
* }>,
- * resolve_target_entities?: array,
+ * resolve_target_entities?: array,
* },
* }
* @psalm-type DoctrineMigrationsConfig = array{
* enable_service_migrations?: bool|Param, // Whether to enable fetching migrations from the service container. // Default: false
- * migrations_paths?: array,
- * services?: array,
- * factories?: array,
+ * migrations_paths?: array,
+ * services?: array,
+ * factories?: array,
* storage?: array{ // Storage to use for migration status metadata.
* table_storage?: array{ // The default metadata storage, implemented as a table in the database.
- * table_name?: scalar|null|Param, // Default: null
- * version_column_name?: scalar|null|Param, // Default: null
- * version_column_length?: scalar|null|Param, // Default: null
- * executed_at_column_name?: scalar|null|Param, // Default: null
- * execution_time_column_name?: scalar|null|Param, // Default: null
+ * table_name?: scalar|Param|null, // Default: null
+ * version_column_name?: scalar|Param|null, // Default: null
+ * version_column_length?: scalar|Param|null, // Default: null
+ * executed_at_column_name?: scalar|Param|null, // Default: null
+ * execution_time_column_name?: scalar|Param|null, // Default: null
* },
* },
- * migrations?: list,
- * connection?: scalar|null|Param, // Connection name to use for the migrations database. // Default: null
- * em?: scalar|null|Param, // Entity manager name to use for the migrations database (available when doctrine/orm is installed). // Default: null
- * all_or_nothing?: scalar|null|Param, // Run all migrations in a transaction. // Default: false
- * check_database_platform?: scalar|null|Param, // Adds an extra check in the generated migrations to allow execution only on the same platform as they were initially generated on. // Default: true
- * custom_template?: scalar|null|Param, // Custom template path for generated migration classes. // Default: null
- * organize_migrations?: scalar|null|Param, // Organize migrations mode. Possible values are: "BY_YEAR", "BY_YEAR_AND_MONTH", false // Default: false
+ * migrations?: list,
+ * connection?: scalar|Param|null, // Connection name to use for the migrations database. // Default: null
+ * em?: scalar|Param|null, // Entity manager name to use for the migrations database (available when doctrine/orm is installed). // Default: null
+ * all_or_nothing?: scalar|Param|null, // Run all migrations in a transaction. // Default: false
+ * 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
+ * custom_template?: scalar|Param|null, // Custom template path for generated migration classes. // Default: null
+ * organize_migrations?: scalar|Param|null, // Organize migrations mode. Possible values are: "BY_YEAR", "BY_YEAR_AND_MONTH", false // Default: false
* 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
* transactional?: bool|Param, // Whether or not to wrap migrations in a single transaction. // Default: true
* }
* @psalm-type NelmioCorsConfig = array{
* defaults?: array{
* allow_credentials?: bool|Param, // Default: false
- * allow_origin?: list,
- * allow_headers?: list,
- * allow_methods?: list,
+ * allow_origin?: list,
+ * allow_headers?: list,
+ * allow_methods?: list,
* allow_private_network?: bool|Param, // Default: false
- * expose_headers?: list,
- * max_age?: scalar|null|Param, // Default: 0
- * hosts?: list,
+ * expose_headers?: list,
+ * max_age?: scalar|Param|null, // Default: 0
+ * hosts?: list,
* origin_regex?: bool|Param, // Default: false
- * forced_allow_origin_value?: scalar|null|Param, // Default: null
+ * forced_allow_origin_value?: scalar|Param|null, // Default: null
* skip_same_as_origin?: bool|Param, // Default: true
* },
* paths?: array,
- * allow_headers?: list,
- * allow_methods?: list,
+ * allow_origin?: list,
+ * allow_headers?: list,
+ * allow_methods?: list,
* allow_private_network?: bool|Param,
- * expose_headers?: list,
- * max_age?: scalar|null|Param, // Default: 0
- * hosts?: list,
+ * expose_headers?: list,
+ * max_age?: scalar|Param|null, // Default: 0
+ * hosts?: list,
* origin_regex?: bool|Param,
- * forced_allow_origin_value?: scalar|null|Param, // Default: null
+ * forced_allow_origin_value?: scalar|Param|null, // Default: null
* skip_same_as_origin?: bool|Param,
* }>,
* }
* @psalm-type LexikJwtAuthenticationConfig = array{
- * public_key?: scalar|null|Param, // The key used to sign tokens (useless for HMAC). If not set, the key will be automatically computed from the secret key. // Default: null
- * additional_public_keys?: list,
- * secret_key?: scalar|null|Param, // The key used to sign tokens. It can be a raw secret (for HMAC), a raw RSA/ECDSA key or the path to a file itself being plaintext or PEM. // Default: null
- * pass_phrase?: scalar|null|Param, // The key passphrase (useless for HMAC) // Default: ""
- * token_ttl?: scalar|null|Param, // Default: 3600
+ * public_key?: scalar|Param|null, // The key used to sign tokens (useless for HMAC). If not set, the key will be automatically computed from the secret key. // Default: null
+ * additional_public_keys?: list,
+ * secret_key?: scalar|Param|null, // The key used to sign tokens. It can be a raw secret (for HMAC), a raw RSA/ECDSA key or the path to a file itself being plaintext or PEM. // Default: null
+ * pass_phrase?: scalar|Param|null, // The key passphrase (useless for HMAC) // Default: ""
+ * token_ttl?: scalar|Param|null, // Default: 3600
* allow_no_expiration?: bool|Param, // Allow tokens without "exp" claim (i.e. indefinitely valid, no lifetime) to be considered valid. Caution: usage of this should be rare. // Default: false
- * clock_skew?: scalar|null|Param, // Default: 0
+ * clock_skew?: scalar|Param|null, // Default: 0
* encoder?: array{
- * service?: scalar|null|Param, // Default: "lexik_jwt_authentication.encoder.lcobucci"
- * signature_algorithm?: scalar|null|Param, // Default: "RS256"
+ * service?: scalar|Param|null, // Default: "lexik_jwt_authentication.encoder.lcobucci"
+ * signature_algorithm?: scalar|Param|null, // Default: "RS256"
* },
- * user_id_claim?: scalar|null|Param, // Default: "username"
+ * user_id_claim?: scalar|Param|null, // Default: "username"
* token_extractors?: array{
* authorization_header?: bool|array{
* enabled?: bool|Param, // Default: true
- * prefix?: scalar|null|Param, // Default: "Bearer"
- * name?: scalar|null|Param, // Default: "Authorization"
+ * prefix?: scalar|Param|null, // Default: "Bearer"
+ * name?: scalar|Param|null, // Default: "Authorization"
* },
* cookie?: bool|array{
* enabled?: bool|Param, // Default: false
- * name?: scalar|null|Param, // Default: "BEARER"
+ * name?: scalar|Param|null, // Default: "BEARER"
* },
* query_parameter?: bool|array{
* enabled?: bool|Param, // Default: false
- * name?: scalar|null|Param, // Default: "bearer"
+ * name?: scalar|Param|null, // Default: "bearer"
* },
* split_cookie?: bool|array{
* enabled?: bool|Param, // Default: false
- * cookies?: list,
+ * cookies?: list,
* },
* },
- * remove_token_from_body_when_cookies_used?: scalar|null|Param, // Default: true
+ * remove_token_from_body_when_cookies_used?: scalar|Param|null, // Default: true
* set_cookies?: array,
+ * path?: scalar|Param|null, // Default: "/"
+ * domain?: scalar|Param|null, // Default: null
+ * secure?: scalar|Param|null, // Default: true
+ * httpOnly?: scalar|Param|null, // Default: true
+ * partitioned?: scalar|Param|null, // Default: false
+ * split?: list,
* }>,
* api_platform?: bool|array{ // API Platform compatibility: add check_path in OpenAPI documentation.
* enabled?: bool|Param, // Default: false
- * check_path?: scalar|null|Param, // The login check path to add in OpenAPI. // Default: null
- * username_path?: scalar|null|Param, // The path to the username in the JSON body. // Default: null
- * password_path?: scalar|null|Param, // The path to the password in the JSON body. // Default: null
+ * check_path?: scalar|Param|null, // The login check path to add in OpenAPI. // Default: null
+ * username_path?: scalar|Param|null, // The path to the username in the JSON body. // Default: null
+ * password_path?: scalar|Param|null, // The path to the password in the JSON body. // Default: null
* },
* access_token_issuance?: bool|array{
* enabled?: bool|Param, // Default: false
* signature?: array{
- * algorithm: scalar|null|Param, // The algorithm use to sign the access tokens.
- * key: scalar|null|Param, // The signature key. It shall be JWK encoded.
+ * algorithm: scalar|Param|null, // The algorithm use to sign the access tokens.
+ * key: scalar|Param|null, // The signature key. It shall be JWK encoded.
* },
* encryption?: bool|array{
* enabled?: bool|Param, // Default: false
- * key_encryption_algorithm: scalar|null|Param, // The key encryption algorithm is used to encrypt the token.
- * content_encryption_algorithm: scalar|null|Param, // The key encryption algorithm is used to encrypt the token.
- * key: scalar|null|Param, // The encryption key. It shall be JWK encoded.
+ * key_encryption_algorithm: scalar|Param|null, // The key encryption algorithm is used to encrypt the token.
+ * content_encryption_algorithm: scalar|Param|null, // The key encryption algorithm is used to encrypt the token.
+ * key: scalar|Param|null, // The encryption key. It shall be JWK encoded.
* },
* },
* access_token_verification?: bool|array{
* enabled?: bool|Param, // Default: false
* signature?: array{
- * header_checkers?: list,
- * claim_checkers?: list,
- * mandatory_claims?: list,
- * allowed_algorithms?: list,
- * keyset: scalar|null|Param, // The signature keyset. It shall be JWKSet encoded.
+ * header_checkers?: list,
+ * claim_checkers?: list,
+ * mandatory_claims?: list,
+ * allowed_algorithms?: list,
+ * keyset: scalar|Param|null, // The signature keyset. It shall be JWKSet encoded.
* },
* encryption?: bool|array{
* enabled?: bool|Param, // Default: false
* continue_on_decryption_failure?: bool|Param, // If enable, non-encrypted tokens or tokens that failed during decryption or verification processes are accepted. // Default: false
- * header_checkers?: list,
- * allowed_key_encryption_algorithms?: list,
- * allowed_content_encryption_algorithms?: list,
- * keyset: scalar|null|Param, // The encryption keyset. It shall be JWKSet encoded.
+ * header_checkers?: list,
+ * allowed_key_encryption_algorithms?: list,
+ * allowed_content_encryption_algorithms?: list,
+ * keyset: scalar|Param|null, // The encryption keyset. It shall be JWKSet encoded.
* },
* },
* blocklist_token?: bool|array{
* enabled?: bool|Param, // Default: false
- * cache?: scalar|null|Param, // Storage to track blocked tokens // Default: "cache.app"
+ * cache?: scalar|Param|null, // Storage to track blocked tokens // Default: "cache.app"
* },
* }
* @psalm-type ApiPlatformConfig = array{
- * title?: scalar|null|Param, // The title of the API. // Default: ""
- * description?: scalar|null|Param, // The description of the API. // Default: ""
- * version?: scalar|null|Param, // The version of the API. // Default: "0.0.0"
+ * title?: scalar|Param|null, // The title of the API. // Default: ""
+ * description?: scalar|Param|null, // The description of the API. // Default: ""
+ * version?: scalar|Param|null, // The version of the API. // Default: "0.0.0"
* show_webby?: bool|Param, // If true, show Webby on the documentation page // Default: true
* use_symfony_listeners?: bool|Param, // Uses Symfony event listeners instead of the ApiPlatform\Symfony\Controller\MainController. // Default: false
- * name_converter?: scalar|null|Param, // Specify a name converter to use. // Default: null
- * asset_package?: scalar|null|Param, // Specify an asset package name to use. // Default: null
- * path_segment_name_generator?: scalar|null|Param, // Specify a path name generator to use. // Default: "api_platform.metadata.path_segment_name_generator.underscore"
- * inflector?: scalar|null|Param, // Specify an inflector to use. // Default: "api_platform.metadata.inflector"
+ * name_converter?: scalar|Param|null, // Specify a name converter to use. // Default: null
+ * asset_package?: scalar|Param|null, // Specify an asset package name to use. // Default: null
+ * path_segment_name_generator?: scalar|Param|null, // Specify a path name generator to use. // Default: "api_platform.metadata.path_segment_name_generator.underscore"
+ * inflector?: scalar|Param|null, // Specify an inflector to use. // Default: "api_platform.metadata.inflector"
* validator?: array{
* serialize_payload_fields?: mixed, // Set to null to serialize all payload fields when a validation error is thrown, or set the fields you want to include explicitly. // Default: []
* query_parameter_validation?: bool|Param, // Deprecated: Will be removed in API Platform 5.0. // Default: true
@@ -1384,23 +1384,23 @@ use Symfony\Component\Config\Loader\ParamConfigurator as Param;
* enable_phpdoc_parser?: bool|Param, // Enable resource metadata collector using PHPStan PhpDocParser. // Default: true
* enable_link_security?: bool|Param, // Enable security for Links (sub resources) // Default: false
* collection?: array{
- * exists_parameter_name?: scalar|null|Param, // The name of the query parameter to filter on nullable field values. // Default: "exists"
- * order?: scalar|null|Param, // The default order of results. // Default: "ASC"
- * order_parameter_name?: scalar|null|Param, // The name of the query parameter to order results. // Default: "order"
- * order_nulls_comparison?: "nulls_smallest"|"nulls_largest"|"nulls_always_first"|"nulls_always_last"|null|Param, // The nulls comparison strategy. // Default: null
+ * exists_parameter_name?: scalar|Param|null, // The name of the query parameter to filter on nullable field values. // Default: "exists"
+ * order?: scalar|Param|null, // The default order of results. // Default: "ASC"
+ * order_parameter_name?: scalar|Param|null, // The name of the query parameter to order results. // Default: "order"
+ * order_nulls_comparison?: "nulls_smallest"|"nulls_largest"|"nulls_always_first"|"nulls_always_last"|Param|null, // The nulls comparison strategy. // Default: null
* pagination?: bool|array{
* enabled?: bool|Param, // Default: true
- * page_parameter_name?: scalar|null|Param, // The default name of the parameter handling the page number. // Default: "page"
- * enabled_parameter_name?: scalar|null|Param, // The name of the query parameter to enable or disable pagination. // Default: "pagination"
- * items_per_page_parameter_name?: scalar|null|Param, // The name of the query parameter to set the number of items per page. // Default: "itemsPerPage"
- * partial_parameter_name?: scalar|null|Param, // The name of the query parameter to enable or disable partial pagination. // Default: "partial"
+ * page_parameter_name?: scalar|Param|null, // The default name of the parameter handling the page number. // Default: "page"
+ * enabled_parameter_name?: scalar|Param|null, // The name of the query parameter to enable or disable pagination. // Default: "pagination"
+ * items_per_page_parameter_name?: scalar|Param|null, // The name of the query parameter to set the number of items per page. // Default: "itemsPerPage"
+ * partial_parameter_name?: scalar|Param|null, // The name of the query parameter to enable or disable partial pagination. // Default: "partial"
* },
* },
* mapping?: array{
- * imports?: list,
- * paths?: list,
+ * imports?: list,
+ * paths?: list,
* },
- * resource_class_directories?: list,
+ * resource_class_directories?: list,
* serializer?: array{
* hydra_prefix?: bool|Param, // Use the "hydra:" prefix. // Default: false
* },
@@ -1412,19 +1412,19 @@ use Symfony\Component\Config\Loader\ParamConfigurator as Param;
* },
* oauth?: bool|array{
* enabled?: bool|Param, // Default: false
- * clientId?: scalar|null|Param, // The oauth client id. // Default: ""
- * clientSecret?: scalar|null|Param, // The OAuth client secret. Never use this parameter in your production environment. It exposes crucial security information. This feature is intended for dev/test environments only. Enable "oauth.pkce" instead // Default: ""
+ * clientId?: scalar|Param|null, // The oauth client id. // Default: ""
+ * clientSecret?: scalar|Param|null, // The OAuth client secret. Never use this parameter in your production environment. It exposes crucial security information. This feature is intended for dev/test environments only. Enable "oauth.pkce" instead // Default: ""
* pkce?: bool|Param, // Enable the oauth PKCE. // Default: false
- * type?: scalar|null|Param, // The oauth type. // Default: "oauth2"
- * flow?: scalar|null|Param, // The oauth flow grant type. // Default: "application"
- * tokenUrl?: scalar|null|Param, // The oauth token url. // Default: ""
- * authorizationUrl?: scalar|null|Param, // The oauth authentication url. // Default: ""
- * refreshUrl?: scalar|null|Param, // The oauth refresh url. // Default: ""
- * scopes?: list,
+ * type?: scalar|Param|null, // The oauth type. // Default: "oauth2"
+ * flow?: scalar|Param|null, // The oauth flow grant type. // Default: "application"
+ * tokenUrl?: scalar|Param|null, // The oauth token url. // Default: ""
+ * authorizationUrl?: scalar|Param|null, // The oauth authentication url. // Default: ""
+ * refreshUrl?: scalar|Param|null, // The oauth refresh url. // Default: ""
+ * scopes?: list,
* },
* graphql?: bool|array{
* enabled?: bool|Param, // Default: false
- * default_ide?: scalar|null|Param, // Default: "graphiql"
+ * default_ide?: scalar|Param|null, // Default: "graphiql"
* graphiql?: bool|array{
* enabled?: bool|Param, // Default: false
* },
@@ -1434,7 +1434,7 @@ use Symfony\Component\Config\Loader\ParamConfigurator as Param;
* max_query_depth?: int|Param, // Default: 20
* graphql_playground?: array,
* max_query_complexity?: int|Param, // Default: 500
- * nesting_separator?: scalar|null|Param, // The separator to use to filter nested fields. // Default: "_"
+ * nesting_separator?: scalar|Param|null, // The separator to use to filter nested fields. // Default: "_"
* collection?: array{
* pagination?: bool|array{
* enabled?: bool|Param, // Default: true
@@ -1443,35 +1443,35 @@ use Symfony\Component\Config\Loader\ParamConfigurator as Param;
* },
* swagger?: array{
* persist_authorization?: bool|Param, // Persist the SwaggerUI Authorization in the localStorage. // Default: false
- * versions?: list,
+ * versions?: list