新的 choice_translation_locale 选项
Contributed by
Yonel Ceruto
in #26825.
在 Symfony 4.1 中,CountryType, CurrencyType, LanguageType 和 LocaleType 几个表单字段,定义了一个全新的 choice_translation_locale
选项来改变用于翻译各自元素列表的 locale。在之前的 Symfony 版本中,elements 总是按照当前 locale 被翻译:
1 2 3 4 5 | $formBuilder->add('country', CountryType::class, [
// translate elements into Spanish, regardless of the current locale
// 把元素译成西班牙文,不管当前是什么locale
'choice_translation_locale' => 'es',
]); |
添加了一个命令来删除缓存池的元素
Contributed by
Pierre du Plessis
in #26223.
在 Symfony 4.1 中,有一个全新的 cache:pool:delete
命令,允许你从 cache pool 中删除特定 item。当你开发程序时,不想删除整个缓存池只想删除一个元素时,这是最有用的功能:
1 | $ php bin/console cache:pool:delete <cache-pool-name> <cache-key-name> |
在 allow_if 表达式中使用自定义函数
Contributed by
David Maicher
in #26660.
在复杂程序中,access_control
这个安全配置项,可包含通过 ExpressionLanguage组件 定义的 security expressions:
1 2 3 4 5 6 7 8 9 | # config/packages/security.yaml
security:
# ...
access_control:
-
path: ^/_internal/secure
allow_if: "'127.0.0.1' == request.getClientIp() or has_role('ROLE_ADMIN')"
|
在 Symfony 4.1 中,allow_if
可包含定义在你程序中的任何 custom ExpressionLanguage functions(自定义表达式)。
添加了一个 dd() debug helper(除错助手)
Contributed by
Nicolas Grekas
in #26970.
使用一个连接到你编辑器的debugger,是程序除错的最佳方式。但是,有时直接调用 dump()函数 则不输 debugger 的高效而且执行得极快。在 Symfony 4.1 中我们引入了一个名为 dd()
的除错助手,来打包给定信息并立即停止程序,如同一个标准的除错流程:
1 2 3 | dd($user, $request);
// equivalent to:
// dump($user, $request); exit(1); |