сулу / symfony-intl-fix
为新的 PHP 版本提供 symfony/intl 修复,也适用于 symfony 2.8
1.0.0
2019-04-26 09:40 UTC
Requires
- php: ^5.5 || ^7.0
This package is auto-updated.
Last update: 2024-08-27 00:11:29 UTC
README
composer require sulu/symfony-intl-fix
为了避免问题,您还应该从您的 composer.json 中的类映射中排除默认的 Locale 类
{
"autoload": {
"exclude-from-classmap": [
"vendor/symfony/intl/Locale.php",
"vendor/symfony/symfony/src/Symfony/Component/Intl/Locale.php"
]
}
}
受影响的 PHP 版本
^7.3.4^7.2.17^7.1.28
如果您使用上述 PHP 版本之一,并且使用比 ^3.4.24 或 ^4.2.7 更旧的 Symfony Intl 版本,symfony/intl 将陷入无限循环。
此包将覆盖 Symfony Locale 以避免无限循环。使用 Symfony 3 或 4 的项目只需更新他们的 symfony 包即可。此修复主要针对 Symfony 2 项目。
为了修复问题,都做了哪些更改?
Locale.php 中的更改非常简单
- return locale_compose($localeSubTags); + $fallback = locale_compose($localeSubTags); + + return false !== $fallback ? $fallback : null;
查看 原始提交。