diff --git a/.env b/.env
index 3523d0ba..1994475b 100644
--- a/.env
+++ b/.env
@@ -51,13 +51,6 @@ HOSTNAME_SOLR=`solr.roadiz-core-app.test`,`solr.roadiz-core-app.local`
HOSTNAME_MAILER=`mail.roadiz-core-app.test`,`mail.roadiz-core-app.local`
DEFAULT_GATEWAY=172.58.0.1
-
-###> symfony/lock ###
-# Choose one of the stores below
-# postgresql+advisory://db_user:db_password@localhost/db_name
-LOCK_DSN=flock
-###< symfony/lock ###
-
###> rezozero/intervention-request-bundle ###
IR_DEFAULT_QUALITY=90
IR_MAX_PIXEL_SIZE=2500
@@ -120,3 +113,9 @@ SCALEWAY_STORAGE_ID=
SCALEWAY_STORAGE_SECRET=
SCALEWAY_STORAGE_BUCKET=
SCALEWAY_STORAGE_REGION=
+
+###> symfony/lock ###
+# Choose one of the stores below
+# postgresql+advisory://db_user:db_password@localhost/db_name
+LOCK_DSN=flock
+###< symfony/lock ###
diff --git a/Makefile b/Makefile
index 810cc9c9..65dec463 100644
--- a/Makefile
+++ b/Makefile
@@ -6,7 +6,7 @@ test:
vendor/bin/monorepo-builder validate
vendor/bin/atoum -d ./lib/Documents/tests
vendor/bin/atoum -f ./lib/EntityGenerator/tests/units/*
- vendor/bin/phpunit -v lib/Models/tests
+ vendor/bin/phpunit -v
php -d "memory_limit=-1" vendor/bin/phpcs -p
make phpstan
php -d "memory_limit=-1" bin/console lint:twig ./lib/Rozier/src/Resources/views
diff --git a/composer.json b/composer.json
index 6ca17ed6..6ed0a5e0 100644
--- a/composer.json
+++ b/composer.json
@@ -42,8 +42,8 @@
"doctrine/doctrine-bundle": "^2.8.1",
"doctrine/doctrine-migrations-bundle": "^3.1",
"doctrine/migrations": "^3.1.1",
- "endroid/qr-code": "^4.0",
"doctrine/orm": "~2.17.0",
+ "endroid/qr-code": "^4.0",
"enshrined/svg-sanitize": "^0.15",
"gedmo/doctrine-extensions": "^3.10.0",
"guzzlehttp/guzzle": "^7.2.0",
@@ -82,52 +82,53 @@
"sensio/framework-extra-bundle": "^6.1",
"sentry/sentry-symfony": "^4.2",
"solarium/solarium": "^6.0.4",
- "symfony-cmf/routing": "^2.3.3",
- "symfony-cmf/routing-bundle": "^2.5",
- "symfony/asset": "5.4.*",
- "symfony/cache": "5.4.*",
- "symfony/console": "5.4.*",
- "symfony/dotenv": "5.4.*",
- "symfony/event-dispatcher": "5.4.*",
+ "symfony-cmf/routing-bundle": "^3.0.2",
+ "symfony/asset": "6.4.*",
+ "symfony/cache": "6.4.*",
+ "symfony/console": "6.4.*",
+ "symfony/doctrine-messenger": "6.4.*",
+ "symfony/dotenv": "6.4.*",
+ "symfony/event-dispatcher": "6.4.*",
"symfony/event-dispatcher-contracts": "^2.4.0",
- "symfony/expression-language": "5.4.*",
- "symfony/filesystem": "5.4.*",
- "symfony/finder": "5.4.*",
+ "symfony/expression-language": "6.4.*",
+ "symfony/filesystem": "6.4.*",
+ "symfony/finder": "6.4.*",
"symfony/flex": "^2.2.3",
- "symfony/form": "5.4.*",
- "symfony/framework-bundle": "5.4.*",
- "symfony/http-client": "5.4.*",
- "symfony/http-foundation": "5.4.*",
- "symfony/http-kernel": "5.4.*",
- "symfony/intl": "5.4.*",
- "symfony/mailer": "5.4.*",
- "symfony/messenger": "5.4.*",
- "symfony/mime": "5.4.*",
+ "symfony/form": "6.4.*",
+ "symfony/framework-bundle": "6.4.*",
+ "symfony/http-client": "6.4.*",
+ "symfony/http-foundation": "6.4.*",
+ "symfony/http-kernel": "6.4.*",
+ "symfony/intl": "6.4.*",
+ "symfony/lock": "6.4.*",
+ "symfony/mailer": "6.4.*",
+ "symfony/messenger": "6.4.*",
+ "symfony/mime": "6.4.*",
"symfony/monolog-bundle": "^3.1",
- "symfony/notifier": "5.4.*",
- "symfony/options-resolver": "5.4.*",
- "symfony/process": "5.4.*",
- "symfony/property-access": "5.4.*",
- "symfony/property-info": "5.4.*",
- "symfony/proxy-manager-bridge": "5.4.*",
- "symfony/rate-limiter": "5.4.*",
+ "symfony/notifier": "6.4.*",
+ "symfony/options-resolver": "6.4.*",
+ "symfony/process": "6.4.*",
+ "symfony/property-access": "6.4.*",
+ "symfony/property-info": "6.4.*",
+ "symfony/proxy-manager-bridge": "6.4.*",
+ "symfony/rate-limiter": "6.4.*",
"symfony/requirements-checker": "^2.0",
- "symfony/routing": "5.4.*",
- "symfony/runtime": "5.4.*",
- "symfony/security-bundle": "5.4.*",
- "symfony/security-core": "5.4.*",
- "symfony/security-csrf": "5.4.*",
- "symfony/security-http": "5.4.*",
- "symfony/serializer": "5.4.*",
- "symfony/stopwatch": "5.4.*",
- "symfony/string": "5.4.*",
- "symfony/translation": "5.4.*",
+ "symfony/routing": "6.4.*",
+ "symfony/runtime": "6.4.*",
+ "symfony/security-bundle": "6.4.*",
+ "symfony/security-core": "6.4.*",
+ "symfony/security-csrf": "6.4.*",
+ "symfony/security-http": "6.4.*",
+ "symfony/serializer": "6.4.*",
+ "symfony/stopwatch": "6.4.*",
+ "symfony/string": "6.4.*",
+ "symfony/translation": "6.4.*",
"symfony/translation-contracts": "^2.3",
- "symfony/twig-bundle": "5.4.*",
- "symfony/validator": "5.4.*",
- "symfony/web-link": "5.4.*",
- "symfony/workflow": "5.4.*",
- "symfony/yaml": "5.4.*",
+ "symfony/twig-bundle": "6.4.*",
+ "symfony/validator": "6.4.*",
+ "symfony/web-link": "6.4.*",
+ "symfony/workflow": "6.4.*",
+ "symfony/yaml": "6.4.*",
"twig/extra-bundle": "^3.0",
"twig/html-extra": "^3.3",
"twig/intl-extra": "*",
@@ -147,12 +148,12 @@
"phpunit/phpunit": "^9.5",
"rector/rector": "^0.14.5",
"squizlabs/php_codesniffer": "^3.5",
- "symfony/browser-kit": "5.4.*",
- "symfony/css-selector": "5.4.*",
- "symfony/debug-bundle": "5.4.*",
- "symfony/maker-bundle": "^1.48",
- "symfony/phpunit-bridge": "5.4.*",
- "symfony/web-profiler-bundle": "5.4.*",
+ "symfony/browser-kit": "6.4.*",
+ "symfony/css-selector": "6.4.*",
+ "symfony/debug-bundle": "6.4.*",
+ "symfony/maker-bundle": "^1.52",
+ "symfony/phpunit-bridge": "^7.0",
+ "symfony/web-profiler-bundle": "6.4.*",
"symplify/monorepo-builder": "11.2.2.72"
},
"config": {
@@ -242,7 +243,7 @@
"extra": {
"symfony": {
"allow-contrib": false,
- "require": "5.4.*"
+ "require": "6.4.*"
},
"branch-alias": {
"dev-main": "2.1.x-dev",
diff --git a/config/packages/security.yaml b/config/packages/security.yaml
index 25d9004b..9dbe33fd 100644
--- a/config/packages/security.yaml
+++ b/config/packages/security.yaml
@@ -28,7 +28,6 @@ security:
# https://symfony.com/bundles/LexikJWTAuthenticationBundle/current/index.html#configure-application-routing
api_login:
pattern: ^/api/token
- stateless: true
provider: all_users
login_throttling:
max_attempts: 3
diff --git a/lib/DocGenerator/composer.json b/lib/DocGenerator/composer.json
index 5562ecf1..1e53ca7e 100644
--- a/lib/DocGenerator/composer.json
+++ b/lib/DocGenerator/composer.json
@@ -5,8 +5,8 @@
"require": {
"php": ">=8.1",
"roadiz/nodetype-contracts": "~1.1.2",
- "symfony/translation": "5.4.*",
- "symfony/http-foundation": "5.4.*"
+ "symfony/translation": "6.4.*",
+ "symfony/http-foundation": "6.4.*"
},
"license": "MIT",
"authors": [
diff --git a/lib/Documents/composer.json b/lib/Documents/composer.json
index fd796c94..40a13d85 100644
--- a/lib/Documents/composer.json
+++ b/lib/Documents/composer.json
@@ -32,14 +32,14 @@
"intervention/image": "^2.5",
"league/flysystem": "^3.0",
"monolog/monolog": "^1.24.0 || ^2.1.1",
- "symfony/asset": "5.4.*",
- "symfony/console": "5.4.*",
- "symfony/event-dispatcher": "5.4.*",
- "symfony/filesystem": "5.4.*",
- "symfony/finder": "5.4.*",
- "symfony/http-foundation": "5.4.*",
- "symfony/options-resolver": "5.4.*",
- "symfony/serializer": "5.4.*",
+ "symfony/asset": "6.4.*",
+ "symfony/console": "6.4.*",
+ "symfony/event-dispatcher": "6.4.*",
+ "symfony/filesystem": "6.4.*",
+ "symfony/finder": "6.4.*",
+ "symfony/http-foundation": "6.4.*",
+ "symfony/options-resolver": "6.4.*",
+ "symfony/serializer": "6.4.*",
"twig/twig": "^3.1"
},
"require-dev": {
diff --git a/lib/DtsGenerator/composer.json b/lib/DtsGenerator/composer.json
index 1540c563..d0bcecde 100644
--- a/lib/DtsGenerator/composer.json
+++ b/lib/DtsGenerator/composer.json
@@ -4,7 +4,7 @@
"type": "library",
"require": {
"roadiz/nodetype-contracts": "~1.1.2",
- "symfony/http-foundation": "5.4.*"
+ "symfony/http-foundation": "6.4.*"
},
"require-dev": {
"phpstan/phpstan": "^1.5.3",
diff --git a/lib/EntityGenerator/composer.json b/lib/EntityGenerator/composer.json
index c39b11e3..b13cce34 100644
--- a/lib/EntityGenerator/composer.json
+++ b/lib/EntityGenerator/composer.json
@@ -15,10 +15,10 @@
"php": ">=8.1",
"ext-json": "*",
"roadiz/nodetype-contracts": "~1.1.2",
- "symfony/string": "5.4.*",
- "symfony/yaml": "5.4.*",
- "symfony/serializer": "5.4.*",
- "symfony/options-resolver": "5.4.*"
+ "symfony/string": "6.4.*",
+ "symfony/yaml": "6.4.*",
+ "symfony/serializer": "6.4.*",
+ "symfony/options-resolver": "6.4.*"
},
"suggest": {
"api-platform/core": "If you need to create ApiFilter annotation right into your entities"
diff --git a/lib/Markdown/composer.json b/lib/Markdown/composer.json
index ca57d91a..9f044b2b 100644
--- a/lib/Markdown/composer.json
+++ b/lib/Markdown/composer.json
@@ -7,7 +7,7 @@
"league/commonmark": "^2.2.0",
"twig/twig": "^3.1",
"doctrine/collections": ">=1.6",
- "symfony/stopwatch": "5.4.*"
+ "symfony/stopwatch": "6.4.*"
},
"require-dev": {
"squizlabs/php_codesniffer": "^3.5",
diff --git a/lib/Models/composer.json b/lib/Models/composer.json
index 67067bd4..5203a01f 100644
--- a/lib/Models/composer.json
+++ b/lib/Models/composer.json
@@ -21,11 +21,11 @@
"php": ">=8.1",
"doctrine/orm": "~2.17.0",
"jms/serializer": "^3.9.0",
- "symfony/string": "5.4.*",
+ "symfony/string": "6.4.*",
"symfony/translation-contracts": "^2.3",
- "symfony/http-foundation": "5.4.*",
- "symfony/serializer": "5.4.*",
- "symfony/validator": "5.4.*"
+ "symfony/http-foundation": "6.4.*",
+ "symfony/serializer": "6.4.*",
+ "symfony/validator": "6.4.*"
},
"require-dev": {
"phpunit/phpunit": "^9.5",
diff --git a/lib/Models/src/Bag/LazyParameterBag.php b/lib/Models/src/Bag/LazyParameterBag.php
index 4e9d6cd2..a258d5b7 100644
--- a/lib/Models/src/Bag/LazyParameterBag.php
+++ b/lib/Models/src/Bag/LazyParameterBag.php
@@ -23,7 +23,7 @@ public function __construct()
* @param mixed|null $default
* @return mixed|null
*/
- public function get(string $key, $default = null)
+ public function get(string $key, $default = null): mixed
{
if (!$this->ready) {
$this->populateParameters();
@@ -50,7 +50,7 @@ public function all(string $key = null): array
*
* @return bool
*/
- public function has(string $key)
+ public function has(string $key): bool
{
if (!$this->ready) {
$this->populateParameters();
@@ -62,7 +62,7 @@ public function has(string $key)
/**
* @return array
*/
- public function keys()
+ public function keys(): array
{
if (!$this->ready) {
$this->populateParameters();
@@ -75,7 +75,7 @@ public function keys()
* @return \ArrayIterator
*/
#[\ReturnTypeWillChange]
- public function getIterator()
+ public function getIterator(): \ArrayIterator
{
if (!$this->ready) {
$this->populateParameters();
@@ -88,7 +88,7 @@ public function getIterator()
* @return int
*/
#[\ReturnTypeWillChange]
- public function count()
+ public function count(): int
{
if (!$this->ready) {
$this->populateParameters();
@@ -105,7 +105,7 @@ public function count()
*
* @return mixed
*/
- public function filter(string $key, $default = null, int $filter = \FILTER_DEFAULT, $options = [])
+ public function filter(string $key, $default = null, int $filter = \FILTER_DEFAULT, $options = []): mixed
{
if (!$this->ready) {
$this->populateParameters();
diff --git a/lib/OpenId/composer.json b/lib/OpenId/composer.json
index fb7eaef0..0a76940c 100644
--- a/lib/OpenId/composer.json
+++ b/lib/OpenId/composer.json
@@ -21,14 +21,14 @@
"roadiz/random": "2.2.x-dev",
"roadiz/models": "2.2.x-dev",
"guzzlehttp/guzzle": "^7.2.0",
- "symfony/http-foundation": "5.4.*",
- "symfony/security-core": "5.4.*",
- "symfony/security-http": "5.4.*",
- "symfony/security-csrf": "5.4.*",
+ "symfony/http-foundation": "6.4.*",
+ "symfony/security-core": "6.4.*",
+ "symfony/security-http": "6.4.*",
+ "symfony/security-csrf": "6.4.*",
"psr/cache": ">=1.0.1",
"symfony/event-dispatcher-contracts": "^2.4.0",
"codercat/jwk-to-pem": "^1.0",
- "symfony/routing": "5.4.*"
+ "symfony/routing": "6.4.*"
},
"require-dev": {
"phpstan/phpstan": "^1.5.3",
diff --git a/lib/OpenId/src/Authentication/Provider/OpenIdAccountProvider.php b/lib/OpenId/src/Authentication/Provider/OpenIdAccountProvider.php
index 13489726..31e1c95d 100644
--- a/lib/OpenId/src/Authentication/Provider/OpenIdAccountProvider.php
+++ b/lib/OpenId/src/Authentication/Provider/OpenIdAccountProvider.php
@@ -16,7 +16,7 @@ class OpenIdAccountProvider implements UserProviderInterface
* @param string $username
* @deprecated since Symfony 5.3, use loadUserByIdentifier() instead
*/
- public function loadUserByUsername($username)
+ public function loadUserByUsername(string $username): UserInterface
{
throw new UserNotFoundException('Cannot load an OpenId account with its email.');
}
diff --git a/lib/RoadizCompatBundle/composer.json b/lib/RoadizCompatBundle/composer.json
index 2e8284b0..914e3a54 100644
--- a/lib/RoadizCompatBundle/composer.json
+++ b/lib/RoadizCompatBundle/composer.json
@@ -22,7 +22,7 @@
"pimple/pimple": "^3.3.1",
"roadiz/core-bundle": "2.2.x-dev",
"roadiz/openid": "2.2.x-dev",
- "symfony/framework-bundle": "5.4.*"
+ "symfony/framework-bundle": "6.4.*"
},
"require-dev": {
"php-coveralls/php-coveralls": "^2.4",
diff --git a/lib/RoadizCompatBundle/src/Controller/AppController.php b/lib/RoadizCompatBundle/src/Controller/AppController.php
index ecae78dc..baf49c4f 100644
--- a/lib/RoadizCompatBundle/src/Controller/AppController.php
+++ b/lib/RoadizCompatBundle/src/Controller/AppController.php
@@ -321,7 +321,7 @@ public function getAssignation(): array
public function prepareBaseAssignation()
{
/** @var KernelInterface $kernel */
- $kernel = $this->get('kernel');
+ $kernel = $this->container->get('kernel');
$this->assignation = [
'head' => [
'ajax' => $this->getRequest()->isXmlHttpRequest(),
@@ -368,7 +368,7 @@ public function getTheme(): ?Theme
{
$this->getStopwatch()->start('getTheme');
/** @var ThemeResolverInterface $themeResolver */
- $themeResolver = $this->get(ThemeResolverInterface::class);
+ $themeResolver = $this->container->get(ThemeResolverInterface::class);
if (null === $this->theme) {
$className = new UnicodeString(static::getCalledClass());
while (!$className->endsWith('App')) {
@@ -475,7 +475,7 @@ public function validateNodeAccessForRole(mixed $attributes, mixed $nodeId = nul
/** @var User $user */
$user = $this->getUser();
/** @var NodeChrootResolver $chrootResolver */
- $chrootResolver = $this->get(NodeChrootResolver::class);
+ $chrootResolver = $this->container->get(NodeChrootResolver::class);
$chroot = $chrootResolver->getChroot($user);
if ($this->isGranted($attributes) && $chroot === null) {
@@ -560,9 +560,9 @@ public function makeResponseCachable(
bool $allowClientCache = false
): Response {
/** @var Kernel $kernel */
- $kernel = $this->get('kernel');
+ $kernel = $this->container->get('kernel');
/** @var RequestStack $requestStack */
- $requestStack = $this->get(RequestStack::class);
+ $requestStack = $this->container->get(RequestStack::class);
$settings = $this->getSettingsBag();
if (
@@ -647,7 +647,7 @@ protected function getHome(?TranslationInterface $translation = null): ?Node
protected function getErrorsAsArray(FormInterface $form): array
{
/** @var FormErrorSerializer $formErrorSerializer */
- $formErrorSerializer = $this->get(FormErrorSerializer::class);
+ $formErrorSerializer = $this->container->get(FormErrorSerializer::class);
return $formErrorSerializer->getErrorsAsArray($form);
}
}
diff --git a/lib/RoadizCompatBundle/src/Controller/Controller.php b/lib/RoadizCompatBundle/src/Controller/Controller.php
index 0a216612..5026df4a 100644
--- a/lib/RoadizCompatBundle/src/Controller/Controller.php
+++ b/lib/RoadizCompatBundle/src/Controller/Controller.php
@@ -6,6 +6,7 @@
use Doctrine\ORM\EntityManagerInterface;
use Doctrine\ORM\NonUniqueResultException;
+use Doctrine\Persistence\ManagerRegistry;
use Doctrine\Persistence\ObjectManager;
use Psr\Log\LoggerInterface;
use RZ\Roadiz\Core\AbstractEntities\PersistableInterface;
@@ -68,6 +69,7 @@ public static function getSubscribedServices(): array
'csrfTokenManager' => CsrfTokenManagerInterface::class,
'defaultTranslation' => 'defaultTranslation',
'dispatcher' => 'event_dispatcher',
+ 'doctrine' => 'doctrine',
'em' => EntityManagerInterface::class,
'event_dispatcher' => 'event_dispatcher',
EventDispatcherInterface::class => EventDispatcherInterface::class,
@@ -112,11 +114,12 @@ public static function getSubscribedServices(): array
/**
* @return Request
+ * @deprecated
*/
protected function getRequest(): Request
{
/** @var RequestStack $requestStack */
- $requestStack = $this->get(RequestStack::class);
+ $requestStack = $this->container->get(RequestStack::class);
$request = $requestStack->getCurrentRequest();
if (null === $request) {
throw new BadRequestHttpException('Request is not available in this context');
@@ -124,25 +127,16 @@ protected function getRequest(): Request
return $request;
}
- /**
- * @return Security
- */
- protected function getAuthorizationChecker(): Security
- {
- /** @var Security $security */ # php-stan hint
- $security = $this->get(Security::class);
- return $security;
- }
-
/**
* Alias for `$this->container['securityTokenStorage']`.
*
* @return TokenStorageInterface
+ * @deprecated
*/
protected function getTokenStorage(): TokenStorageInterface
{
/** @var TokenStorageInterface $tokenStorage */ # php-stan hint
- $tokenStorage = $this->get(TokenStorageInterface::class);
+ $tokenStorage = $this->container->get(TokenStorageInterface::class);
return $tokenStorage;
}
@@ -150,76 +144,110 @@ protected function getTokenStorage(): TokenStorageInterface
* Alias for `$this->container['em']`.
*
* @return ObjectManager
+ * @deprecated
*/
protected function em(): ObjectManager
{
- return $this->getDoctrine()->getManager();
+ return $this->container->get('em');
}
/**
* @return TranslatorInterface
+ * @deprecated
*/
protected function getTranslator(): TranslatorInterface
{
/** @var TranslatorInterface $translator */ # php-stan hint
- $translator = $this->get(TranslatorInterface::class);
+ $translator = $this->container->get(TranslatorInterface::class);
return $translator;
}
/**
* @return Environment
+ * @deprecated
*/
protected function getTwig(): Environment
{
/** @var Environment $twig */ # php-stan hint
- $twig = $this->get(Environment::class);
+ $twig = $this->container->get(Environment::class);
return $twig;
}
+ /**
+ * @return Stopwatch
+ * @deprecated
+ */
protected function getStopwatch(): Stopwatch
{
/** @var Stopwatch $stopwatch */
- $stopwatch = $this->get(Stopwatch::class);
+ $stopwatch = $this->container->get(Stopwatch::class);
return $stopwatch;
}
+ /**
+ * @deprecated
+ */
protected function getPreviewResolver(): PreviewResolverInterface
{
/** @var PreviewResolverInterface $previewResolver */
- $previewResolver = $this->get(PreviewResolverInterface::class);
+ $previewResolver = $this->container->get(PreviewResolverInterface::class);
return $previewResolver;
}
+ /**
+ * @return ManagerRegistry
+ * @throws \Psr\Container\ContainerExceptionInterface
+ * @throws \Psr\Container\NotFoundExceptionInterface
+ * @deprecated
+ */
+ protected function getDoctrine(): ManagerRegistry
+ {
+ return $this->container->get('doctrine');
+ }
+
/**
* @param object $event
* @param string|null $eventName
* @return object The passed $event MUST be returned
+ * @deprecated
*/
protected function dispatchEvent(object $event, string $eventName = null): object
{
/** @var EventDispatcherInterface $eventDispatcher */ # php-stan hint
- $eventDispatcher = $this->get(EventDispatcherInterface::class);
+ $eventDispatcher = $this->container->get(EventDispatcherInterface::class);
return $eventDispatcher->dispatch($event, $eventName);
}
+ /**
+ * @return Settings
+ * @deprecated
+ */
protected function getSettingsBag(): Settings
{
/** @var Settings $settingsBag */ # php-stan hint
- $settingsBag = $this->get(Settings::class);
+ $settingsBag = $this->container->get(Settings::class);
return $settingsBag;
}
+ /**
+ * @return HandlerFactoryInterface
+ * @deprecated
+ */
protected function getHandlerFactory(): HandlerFactoryInterface
{
/** @var HandlerFactoryInterface $handlerFactory */ # php-stan hint
- $handlerFactory = $this->get(HandlerFactoryInterface::class);
+ $handlerFactory = $this->container->get(HandlerFactoryInterface::class);
return $handlerFactory;
}
+ /**
+ * @return LoggerInterface
+ * @deprecated
+ */
protected function getLogger(): LoggerInterface
{
/** @var LoggerInterface $logger */ # php-stan hint
- $logger = $this->get(LoggerInterface::class);
+ $logger = $this->container->get(LoggerInterface::class);
return $logger;
}
@@ -235,7 +263,7 @@ protected function generateUrl($route, array $parameters = [], int $referenceTyp
{
if ($route instanceof NodesSources) {
/** @var UrlGeneratorInterface $urlGenerator */
- $urlGenerator = $this->get(UrlGeneratorInterface::class);
+ $urlGenerator = $this->container->get(UrlGeneratorInterface::class);
return $urlGenerator->generate(
RouteObjectInterface::OBJECT_BASED_ROUTE_NAME,
array_merge($parameters, [RouteObjectInterface::ROUTE_OBJECT => $route]),
@@ -408,7 +436,7 @@ protected function denyResourceExceptForFormats(Request $request, array $accepta
protected function createNamedFormBuilder(string $name = 'form', $data = null, array $options = [])
{
/** @var FormFactoryInterface $formFactory */
- $formFactory = $this->get(FormFactoryInterface::class);
+ $formFactory = $this->container->get(FormFactoryInterface::class);
return $formFactory->createNamedBuilder($name, FormType::class, $data, $options);
}
@@ -432,33 +460,6 @@ public function createEntityListManager(string $entity, array $criteria = [], ar
);
}
- /**
- * Create and return a ContactFormManager to build and send contact
- * form by email.
- *
- * @return ContactFormManager
- * @deprecated Use constructor service injection
- */
- public function createContactFormManager(): ContactFormManager
- {
- /** @var ContactFormManager $contactFormManager */ # php-stan hinting
- $contactFormManager = $this->get(ContactFormManager::class);
- return $contactFormManager;
- }
-
- /**
- * Create and return a EmailManager to build and send emails.
- *
- * @return EmailManager
- * @deprecated Use constructor service injection
- */
- public function createEmailManager(): EmailManager
- {
- /** @var EmailManager $emailManager */ # php-stan hinting
- $emailManager = $this->get(EmailManager::class);
- return $emailManager;
- }
-
/**
* Get a user from the tokenStorage.
*
@@ -470,10 +471,6 @@ public function createEmailManager(): EmailManager
*/
protected function getUser(): ?UserInterface
{
- if (!$this->has('securityTokenStorage')) {
- throw new \LogicException('No TokenStorage has been registered in your application.');
- }
-
/** @var TokenInterface|null $token */
$token = $this->getTokenStorage()->getToken();
return $token?->getUser();
diff --git a/lib/RoadizCompatBundle/src/Controller/FrontendController.php b/lib/RoadizCompatBundle/src/Controller/FrontendController.php
index 2f4ac373..dbb63a21 100644
--- a/lib/RoadizCompatBundle/src/Controller/FrontendController.php
+++ b/lib/RoadizCompatBundle/src/Controller/FrontendController.php
@@ -299,30 +299,6 @@ protected function extendAssignation()
{
}
- /**
- * Add a default translation locale for static routes and
- * node SEO data.
- *
- * * [parent assignations…]
- * * **_default_locale**
- * * meta
- * * siteName
- * * siteCopyright
- * * siteDescription
- *
- * @return $this
- */
- public function prepareBaseAssignation(): static
- {
- parent::prepareBaseAssignation();
-
- /** @var TranslationInterface $translation */
- $translation = $this->get('defaultTranslation');
- $this->assignation['_default_locale'] = $translation->getLocale();
-
- return $this;
- }
-
/**
* {@inheritdoc}
*/
diff --git a/lib/RoadizCompatBundle/src/Routing/ThemeAwareNodeRouter.php b/lib/RoadizCompatBundle/src/Routing/ThemeAwareNodeRouter.php
index 906feb91..ad74858f 100644
--- a/lib/RoadizCompatBundle/src/Routing/ThemeAwareNodeRouter.php
+++ b/lib/RoadizCompatBundle/src/Routing/ThemeAwareNodeRouter.php
@@ -59,12 +59,12 @@ public function match(string $pathinfo): array
return $this->innerRouter->match($pathinfo);
}
- public function supports($name): bool
+ public function supports(string $name): bool
{
return $this->innerRouter->supports($name);
}
- public function getRouteDebugMessage($name, array $parameters = []): string
+ public function getRouteDebugMessage(string $name, array $parameters = []): string
{
return $this->innerRouter->getRouteDebugMessage($name, $parameters);
}
diff --git a/lib/RoadizCoreBundle/composer.json b/lib/RoadizCoreBundle/composer.json
index fab80ec6..1e227d00 100644
--- a/lib/RoadizCoreBundle/composer.json
+++ b/lib/RoadizCoreBundle/composer.json
@@ -59,37 +59,38 @@
"sensio/framework-extra-bundle": "^6.1",
"solarium/solarium": "^6.0.4",
"symfony-cmf/routing": "^2.3.3",
- "symfony-cmf/routing-bundle": "^2.5",
- "symfony/asset": "5.4.*",
- "symfony/cache": "5.4.*",
- "symfony/console": "5.4.*",
- "symfony/dotenv": "5.4.*",
- "symfony/expression-language": "5.4.*",
+ "symfony-cmf/routing-bundle": "^3.0.2",
+ "symfony/asset": "6.4.*",
+ "symfony/cache": "6.4.*",
+ "symfony/console": "6.4.*",
+ "symfony/dotenv": "6.4.*",
+ "symfony/expression-language": "6.4.*",
"symfony/flex": "^2.2.3",
- "symfony/form": "5.4.*",
- "symfony/framework-bundle": "5.4.*",
- "symfony/http-client": "5.4.*",
- "symfony/intl": "5.4.*",
- "symfony/mailer": "5.4.*",
- "symfony/messenger": "5.4.*",
- "symfony/mime": "5.4.*",
+ "symfony/form": "6.4.*",
+ "symfony/framework-bundle": "6.4.*",
+ "symfony/http-client": "6.4.*",
+ "symfony/intl": "6.4.*",
+ "symfony/lock": "6.4.*",
+ "symfony/mailer": "6.4.*",
+ "symfony/messenger": "6.4.*",
+ "symfony/mime": "6.4.*",
"symfony/monolog-bundle": "^3.1",
- "symfony/notifier": "5.4.*",
- "symfony/process": "5.4.*",
- "symfony/property-access": "5.4.*",
- "symfony/property-info": "5.4.*",
- "symfony/proxy-manager-bridge": "5.4.*",
- "symfony/rate-limiter": "5.4.*",
- "symfony/runtime": "5.4.*",
- "symfony/security-core": "5.4.*",
- "symfony/serializer": "5.4.*",
- "symfony/string": "5.4.*",
- "symfony/translation": "5.4.*",
- "symfony/twig-bundle": "5.4.*",
- "symfony/validator": "5.4.*",
- "symfony/web-link": "5.4.*",
- "symfony/workflow": "5.4.*",
- "symfony/yaml": "5.4.*",
+ "symfony/notifier": "6.4.*",
+ "symfony/process": "6.4.*",
+ "symfony/property-access": "6.4.*",
+ "symfony/property-info": "6.4.*",
+ "symfony/proxy-manager-bridge": "6.4.*",
+ "symfony/rate-limiter": "6.4.*",
+ "symfony/runtime": "6.4.*",
+ "symfony/security-core": "6.4.*",
+ "symfony/serializer": "6.4.*",
+ "symfony/string": "6.4.*",
+ "symfony/translation": "6.4.*",
+ "symfony/twig-bundle": "6.4.*",
+ "symfony/validator": "6.4.*",
+ "symfony/web-link": "6.4.*",
+ "symfony/workflow": "6.4.*",
+ "symfony/yaml": "6.4.*",
"twig/extra-bundle": "^3.0",
"twig/intl-extra": "*",
"twig/string-extra": "*",
@@ -104,9 +105,9 @@
"phpstan/phpstan-doctrine": "^1.3",
"phpunit/phpunit": "^9.5",
"squizlabs/php_codesniffer": "^3.5",
- "symfony/browser-kit": "5.4.*",
- "symfony/phpunit-bridge": "5.4.*",
- "symfony/stopwatch": "5.4.*"
+ "symfony/browser-kit": "6.4.*",
+ "symfony/phpunit-bridge": "^7.0",
+ "symfony/stopwatch": "6.4.*"
},
"config": {
"optimize-autoloader": true,
diff --git a/lib/RoadizCoreBundle/src/Bag/Settings.php b/lib/RoadizCoreBundle/src/Bag/Settings.php
index 4586ae26..4e8a3d4c 100644
--- a/lib/RoadizCoreBundle/src/Bag/Settings.php
+++ b/lib/RoadizCoreBundle/src/Bag/Settings.php
@@ -55,9 +55,9 @@ protected function populateParameters(): void
/**
* @param string $key
* @param mixed $default
- * @return bool|mixed
+ * @return mixed
*/
- public function get($key, $default = false)
+ public function get(string $key, $default = false): mixed
{
return parent::get($key, $default);
}
@@ -68,7 +68,7 @@ public function get($key, $default = false)
* @param string $key
* @return Document|null
*/
- public function getDocument($key): ?Document
+ public function getDocument(string $key): ?Document
{
try {
$id = $this->getInt($key);
diff --git a/lib/RoadizCoreBundle/src/Doctrine/ORM/SimpleQueryBuilder.php b/lib/RoadizCoreBundle/src/Doctrine/ORM/SimpleQueryBuilder.php
index eed46053..90c7713b 100644
--- a/lib/RoadizCoreBundle/src/Doctrine/ORM/SimpleQueryBuilder.php
+++ b/lib/RoadizCoreBundle/src/Doctrine/ORM/SimpleQueryBuilder.php
@@ -55,7 +55,7 @@ public function buildExpressionWithBinding($value, string $prefix, string $key):
*
* @return Comparison|Func|string
*/
- public function buildExpressionWithoutBinding($value, string $prefix, string $key, string $baseKey = null)
+ public function buildExpressionWithoutBinding(mixed $value, string $prefix, string $key, string $baseKey = null)
{
if (\mb_strlen($prefix) > 0 && \mb_substr($prefix, -\mb_strlen('.')) !== '.') {
$prefix .= '.';
@@ -127,14 +127,11 @@ public function buildExpressionWithoutBinding($value, string $prefix, string $ke
if ($value instanceof PersistableInterface) {
return $this->queryBuilder->expr()->eq($prefix . $key, ':' . $baseKey);
}
- if (isset($value)) {
- return $this->queryBuilder->expr()->eq($prefix . $key, ':' . $baseKey);
- }
if (null === $value) {
return $this->queryBuilder->expr()->isNull($prefix . $key);
}
- throw new \InvalidArgumentException('Value is not supported for expression.');
+ return $this->queryBuilder->expr()->eq($prefix . $key, ':' . $baseKey);
}
/**
@@ -181,14 +178,11 @@ public function bindValue(string $key, $value): QueryBuilder
if ($value instanceof PersistableInterface) {
return $this->queryBuilder->setParameter($key, $value->getId());
}
- if (isset($value)) {
- return $this->queryBuilder->setParameter($key, $value);
- }
if (null === $value) {
return $this->queryBuilder;
}
- throw new \InvalidArgumentException('Value is not supported for binding.');
+ return $this->queryBuilder->setParameter($key, $value);
}
/**
diff --git a/lib/RoadizCoreBundle/src/EntityHandler/NodeHandler.php b/lib/RoadizCoreBundle/src/EntityHandler/NodeHandler.php
index d9a9b408..2336d661 100644
--- a/lib/RoadizCoreBundle/src/EntityHandler/NodeHandler.php
+++ b/lib/RoadizCoreBundle/src/EntityHandler/NodeHandler.php
@@ -22,6 +22,7 @@
use Symfony\Component\Workflow\Registry;
use Symfony\Component\Workflow\Workflow;
use RZ\Roadiz\Core\Handlers\AbstractHandler;
+use Symfony\Component\Workflow\WorkflowInterface;
/**
* Handle operations with nodes entities.
@@ -307,9 +308,9 @@ public function removeWithChildrenAndAssociations()
}
/**
- * @return Workflow
+ * @return WorkflowInterface
*/
- private function getWorkflow(): Workflow
+ private function getWorkflow(): WorkflowInterface
{
return $this->registry->get($this->getNode());
}
diff --git a/lib/RoadizCoreBundle/src/EventSubscriber/UserLocaleSubscriber.php b/lib/RoadizCoreBundle/src/EventSubscriber/UserLocaleSubscriber.php
index fc75e89f..2fed01d2 100644
--- a/lib/RoadizCoreBundle/src/EventSubscriber/UserLocaleSubscriber.php
+++ b/lib/RoadizCoreBundle/src/EventSubscriber/UserLocaleSubscriber.php
@@ -64,7 +64,7 @@ public function onUserUpdated(FilterUserEvent $event): void
if (
null !== $this->tokenStorage->getToken() &&
$this->tokenStorage->getToken()->getUser() instanceof User &&
- $this->tokenStorage->getToken()->getUsername() === $user->getUsername()
+ $this->tokenStorage->getToken()->getUserIdentifier() === $user->getUserIdentifier()
) {
if (null === $user->getLocale()) {
$this->requestStack->getSession()->remove('_locale');
diff --git a/lib/RoadizCoreBundle/src/Logger/DoctrineHandler.php b/lib/RoadizCoreBundle/src/Logger/DoctrineHandler.php
index 058e1940..399e05be 100644
--- a/lib/RoadizCoreBundle/src/Logger/DoctrineHandler.php
+++ b/lib/RoadizCoreBundle/src/Logger/DoctrineHandler.php
@@ -215,10 +215,10 @@ public function write(array $record): void
]
);
} else {
- $log->setUsername($user->getUsername());
+ $log->setUsername($user->getUserIdentifier());
}
} else {
- $log->setUsername($token->getUsername());
+ $log->setUsername($token->getUserIdentifier());
}
}
diff --git a/lib/RoadizCoreBundle/src/Preview/EventSubscriber/PreviewModeSubscriber.php b/lib/RoadizCoreBundle/src/Preview/EventSubscriber/PreviewModeSubscriber.php
index 2850b83f..1bcd3daf 100644
--- a/lib/RoadizCoreBundle/src/Preview/EventSubscriber/PreviewModeSubscriber.php
+++ b/lib/RoadizCoreBundle/src/Preview/EventSubscriber/PreviewModeSubscriber.php
@@ -83,11 +83,6 @@ public function onKernelRequest(RequestEvent $event): void
public function onControllerMatched(ControllerEvent $event): void
{
if ($this->supports() && $event->isMainRequest()) {
- /** @var TokenInterface|null $token */
- $token = $this->tokenStorage->getToken();
- if (null === $token || !$token->isAuthenticated()) {
- throw new PreviewNotAllowedException('You are not authenticated to use preview mode.');
- }
if (!$this->security->isGranted($this->previewResolver->getRequiredRole())) {
throw new PreviewNotAllowedException('You are not granted to use preview mode.');
}
diff --git a/lib/RoadizCoreBundle/src/Preview/Exception/PreviewNotAllowedException.php b/lib/RoadizCoreBundle/src/Preview/Exception/PreviewNotAllowedException.php
index 2c376595..07da1c7b 100644
--- a/lib/RoadizCoreBundle/src/Preview/Exception/PreviewNotAllowedException.php
+++ b/lib/RoadizCoreBundle/src/Preview/Exception/PreviewNotAllowedException.php
@@ -12,7 +12,7 @@
*/
class PreviewNotAllowedException extends AccessDeniedHttpException
{
- public function __construct($message = "You are not allowed to use preview mode.")
+ public function __construct(string $message = "You are not allowed to use preview mode.")
{
parent::__construct($message);
}
diff --git a/lib/RoadizCoreBundle/src/Routing/NodeRouter.php b/lib/RoadizCoreBundle/src/Routing/NodeRouter.php
index bdea3b74..c9f89099 100644
--- a/lib/RoadizCoreBundle/src/Routing/NodeRouter.php
+++ b/lib/RoadizCoreBundle/src/Routing/NodeRouter.php
@@ -92,7 +92,7 @@ public function getGenerator(): UrlGeneratorInterface
/**
* @inheritDoc
*/
- public function supports($name): bool
+ public function supports(mixed $name): bool
{
return ($name instanceof NodesSources || $name === RouteObjectInterface::OBJECT_BASED_ROUTE_NAME);
}
diff --git a/lib/RoadizCoreBundle/src/Routing/RedirectionRouter.php b/lib/RoadizCoreBundle/src/Routing/RedirectionRouter.php
index 8df68ff7..1a5f94a2 100644
--- a/lib/RoadizCoreBundle/src/Routing/RedirectionRouter.php
+++ b/lib/RoadizCoreBundle/src/Routing/RedirectionRouter.php
@@ -70,12 +70,12 @@ public function getGenerator(): UrlGeneratorInterface
throw new \BadMethodCallException(get_class($this) . ' does not support path generation.');
}
- public function supports($name): bool
+ public function supports(mixed $name): bool
{
return false;
}
- public function getRouteDebugMessage($name, array $parameters = []): string
+ public function getRouteDebugMessage(mixed $name, array $parameters = []): string
{
return 'RedirectionRouter does not support path generation.';
}
diff --git a/lib/RoadizFontBundle/composer.json b/lib/RoadizFontBundle/composer.json
index 6e836f08..6bcee450 100644
--- a/lib/RoadizFontBundle/composer.json
+++ b/lib/RoadizFontBundle/composer.json
@@ -30,20 +30,20 @@
"roadiz/models": "2.2.x-dev",
"roadiz/rozier": "2.2.x-dev",
"sensio/framework-extra-bundle": "^6.1",
- "symfony/asset": "5.4.*",
- "symfony/cache": "5.4.*",
- "symfony/dotenv": "5.4.*",
- "symfony/expression-language": "5.4.*",
- "symfony/form": "5.4.*",
- "symfony/framework-bundle": "5.4.*",
- "symfony/http-client": "5.4.*",
- "symfony/intl": "5.4.*",
- "symfony/runtime": "5.4.*",
- "symfony/string": "5.4.*",
- "symfony/translation": "5.4.*",
- "symfony/twig-bundle": "5.4.*",
- "symfony/validator": "5.4.*",
- "symfony/yaml": "5.4.*",
+ "symfony/asset": "6.4.*",
+ "symfony/cache": "6.4.*",
+ "symfony/dotenv": "6.4.*",
+ "symfony/expression-language": "6.4.*",
+ "symfony/form": "6.4.*",
+ "symfony/framework-bundle": "6.4.*",
+ "symfony/http-client": "6.4.*",
+ "symfony/intl": "6.4.*",
+ "symfony/runtime": "6.4.*",
+ "symfony/string": "6.4.*",
+ "symfony/translation": "6.4.*",
+ "symfony/twig-bundle": "6.4.*",
+ "symfony/validator": "6.4.*",
+ "symfony/yaml": "6.4.*",
"twig/extra-bundle": "^3.0",
"twig/intl-extra": "*",
"twig/string-extra": "*",
@@ -55,9 +55,9 @@
"phpstan/phpstan-doctrine": "^1.3",
"phpunit/phpunit": "^9.5",
"squizlabs/php_codesniffer": "^3.5",
- "symfony/browser-kit": "5.4.*",
- "symfony/phpunit-bridge": "5.4.*",
- "symfony/stopwatch": "5.4.*",
+ "symfony/browser-kit": "6.4.*",
+ "symfony/phpunit-bridge": "^7.0",
+ "symfony/stopwatch": "6.4.*",
"roadiz/core-bundle": "2.2.x-dev",
"roadiz/compat-bundle": "2.2.x-dev",
"roadiz/rozier-bundle": "2.2.x-dev",
diff --git a/lib/RoadizRozierBundle/composer.json b/lib/RoadizRozierBundle/composer.json
index 22393b69..9f3d431e 100644
--- a/lib/RoadizRozierBundle/composer.json
+++ b/lib/RoadizRozierBundle/composer.json
@@ -20,7 +20,7 @@
"prefer-stable": true,
"require": {
"php": ">=8.1",
- "symfony/framework-bundle": "5.4.*",
+ "symfony/framework-bundle": "6.4.*",
"roadiz/core-bundle": "2.2.x-dev",
"roadiz/rozier": "2.2.x-dev",
"roadiz/compat-bundle": "2.2.x-dev",
diff --git a/lib/RoadizTwoFactorBundle/composer.json b/lib/RoadizTwoFactorBundle/composer.json
index bea113c8..3a88f3e8 100644
--- a/lib/RoadizTwoFactorBundle/composer.json
+++ b/lib/RoadizTwoFactorBundle/composer.json
@@ -32,7 +32,7 @@
"scheb/2fa-google-authenticator": "^6.8",
"scheb/2fa-trusted-device": "^6.8",
"sensio/framework-extra-bundle": "^6.1",
- "symfony/framework-bundle": "5.4.*"
+ "symfony/framework-bundle": "6.4.*"
},
"require-dev": {
"php-coveralls/php-coveralls": "^2.4",
@@ -40,7 +40,7 @@
"phpstan/phpstan-doctrine": "^1.3",
"phpunit/phpunit": "^9.5",
"squizlabs/php_codesniffer": "^3.5",
- "symfony/stopwatch": "5.4.*"
+ "symfony/stopwatch": "6.4.*"
},
"config": {
"optimize-autoloader": true,
diff --git a/lib/RoadizUserBundle/composer.json b/lib/RoadizUserBundle/composer.json
index 176630b0..98f72abd 100644
--- a/lib/RoadizUserBundle/composer.json
+++ b/lib/RoadizUserBundle/composer.json
@@ -22,8 +22,9 @@
"require": {
"php": ">=8.1",
"api-platform/core": "~2.7.0",
- "symfony/framework-bundle": "5.4.*",
- "symfony/rate-limiter": "5.4.*",
+ "symfony/framework-bundle": "6.4.*",
+ "symfony/rate-limiter": "6.4.*",
+ "symfony/lock": "6.4.*",
"doctrine/orm": "~2.17.0"
},
"require-dev": {
diff --git a/lib/Rozier/composer.json b/lib/Rozier/composer.json
index 8f0310cd..8c8e111b 100644
--- a/lib/Rozier/composer.json
+++ b/lib/Rozier/composer.json
@@ -49,19 +49,19 @@
"roadiz/nodetype-contracts": "~1.1.2",
"roadiz/openid": "2.2.x-dev",
"roadiz/rozier-bundle": "2.2.x-dev",
- "symfony/asset": "5.4.*",
- "symfony/filesystem": "5.4.*",
- "symfony/form": "5.4.*",
- "symfony/http-foundation": "5.4.*",
- "symfony/http-kernel": "5.4.*",
- "symfony/routing": "5.4.*",
- "symfony/security-core": "5.4.*",
- "symfony/security-csrf": "5.4.*",
- "symfony/security-http": "5.4.*",
- "symfony/translation": "5.4.*",
- "symfony/validator": "5.4.*",
- "symfony/workflow": "5.4.*",
- "symfony/yaml": "5.4.*",
+ "symfony/asset": "6.4.*",
+ "symfony/filesystem": "6.4.*",
+ "symfony/form": "6.4.*",
+ "symfony/http-foundation": "6.4.*",
+ "symfony/http-kernel": "6.4.*",
+ "symfony/routing": "6.4.*",
+ "symfony/security-core": "6.4.*",
+ "symfony/security-csrf": "6.4.*",
+ "symfony/security-http": "6.4.*",
+ "symfony/translation": "6.4.*",
+ "symfony/validator": "6.4.*",
+ "symfony/workflow": "6.4.*",
+ "symfony/yaml": "6.4.*",
"twig/twig": "^3.1"
},
"require-dev": {
diff --git a/lib/Rozier/src/RozierApp.php b/lib/Rozier/src/RozierApp.php
index b9a38be4..b1b395a7 100644
--- a/lib/Rozier/src/RozierApp.php
+++ b/lib/Rozier/src/RozierApp.php
@@ -112,10 +112,10 @@ public function prepareBaseAssignation()
/*
* Use kernel DI container to delay API requests
*/
- $this->assignation['themeServices'] = $this->get(RozierServiceRegistry::class);
+ $this->assignation['themeServices'] = $this->container->get(RozierServiceRegistry::class);
/** @var CsrfTokenManagerInterface $tokenManager */
- $tokenManager = $this->get('csrfTokenManager');
+ $tokenManager = $this->container->get('csrfTokenManager');
/*
* Switch this to true to use uncompressed JS and CSS files
*/
@@ -163,7 +163,7 @@ public function indexAction(Request $request)
public function cssAction(Request $request): Response
{
/** @var NodeTypes $nodeTypesBag */
- $nodeTypesBag = $this->get('nodeTypesBag');
+ $nodeTypesBag = $this->container->get('nodeTypesBag');
$this->assignation['mainColor'] = $this->getSettingsBag()->get('main_color');
$this->assignation['nodeTypes'] = $nodeTypesBag->all();
diff --git a/phpstan.neon b/phpstan.neon
index 0032596b..8b554c0d 100644
--- a/phpstan.neon
+++ b/phpstan.neon
@@ -54,6 +54,7 @@ parameters:
reportUnmatchedIgnoredErrors: false
checkGenericClassInNonGenericObjectType: false
checkMissingIterableValueType: false
+ treatPhpDocTypesAsCertain: false
includes:
- vendor/phpstan/phpstan-doctrine/extension.neon
- vendor/phpstan/phpstan-doctrine/rules.neon
diff --git a/phpunit.xml.dist b/phpunit.xml.dist
index 26b7452f..f63743d4 100644
--- a/phpunit.xml.dist
+++ b/phpunit.xml.dist
@@ -16,13 +16,6 @@
-
-
-
-
-
-
-
@@ -36,11 +29,20 @@
+
+
+
+
+
+
+
+
tests
+ lib/Models/tests