Symfonyob娱乐下载 4.3的新功能:更简单地访问Intl数据
4月16日·发表的哈维尔Eguiluz
警告:这篇文章是关于一个不受支持的Symfony版本。ob娱乐下载有些信息可能已经过时了。阅读最新的Symfony文档ob娱乐下载.
提供的
罗兰Franssen
在# 28846.
的ICU项目(“Unicode国际组件”)是一组广泛使用的库,为软件应用程序提供全球化支持。作为其使命的一部分,他们提供项目中普遍需要的本地化数据(例如,所有国家的名称以所有语言显示,所有货币的名称和基本数据以所有语言显示,等等)。
的Intl组件提供访问本地化数据所需的方法:
12 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
使用ob娱乐下载\组件\Intl\Intl;\地区::setDefault (“en”);$语言= Intl::getLanguageBundle ()->getLanguageNames ();// => ['ab' => '阿布哈兹语',…]$语言= Intl::getLanguageBundle ()->getLanguageName (“德”);// => '德语'$国家= Intl::getRegionBundle ()->getCountryNames ();// => ['AF' => '阿富汗',…]$国家= Intl::getRegionBundle ()->getCountryName (“GB”);// => '英国'$货币= Intl::getCurrencyBundle ()->getCurrencyName (印度卢比的);// => '印度卢比'$象征= Intl::getCurrencyBundle ()->getCurrencySymbol (印度卢比的);// => ' '$fractionDigits= Intl::getCurrencyBundle ()->getFractionDigits (印度卢比的);// =>
虽然这工作得很好,但在Symfony 4.3中,我们对其进行了ob娱乐下载改进,使其更加简单,并简化了底层类结构。新的代码更简洁,更易于阅读:
12 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
使用ob娱乐下载\组件\Intl\国家;使用ob娱乐下载\组件\Intl\货币;使用ob娱乐下载\组件\Intl\语言;\地区::setDefault (“en”);$语言=语言::getname ();// => ['ab' => '阿布哈兹语',…]$语言=语言::getName (“德”);// => '德语'$国家=国家::getname ();// => ['AF' => '阿富汗',…]$国家=国家::getName (“GB”);// => '英国'$货币=货币::getName (印度卢比的);// => '印度卢比'$象征=货币::getSymbol (印度卢比的);// => ' '$fractionDigits=货币::getFractionDigits (印度卢比的);// =>
作为额外的奖励,我们增加了几个存在()
方法检查给定值是否为有效的区域、语言、区域设置等:
1 2 3 4 5
$isValidLanguage=语言::存在($languageCode);$isValidScript=脚本::存在($scriptCode);$isValidRegion=区域::存在($regionCode);$isValidLocale=地区::存在($localeCode);$isValidCurrency=货币::存在($currencyCode);
发表在#生活在边缘
评论
罗兰Franssen
2019年4月16日说在《在福音》里
请参见https://github.com/symfonob娱乐下载y/symfony/pull/28831了解后续公关;添加国际时区
罗兰Franssen
2019年4月16日说在21奸细
另一个隐藏的宝石是在所有数据包中添加' exists(): bool ',而以前你必须尝试/捕获它。
baubeDilane
2019年4月17日说分
它更干净,所以我喜欢它。:)
评论截止。
为了确保评论保持相关性,旧帖子将被关闭。
Võ Xuân Tiến is a certified Symfony engineer.
Get certified! Online exams available in all countries.
Register Now