jul*_*ong 25 php intl twig twig-extension
在国际扩展是枝条的延伸,增加了的localizeddate,localizednumber和localizedcurrency过滤器.如何安装和设置扩展程序,以便在Twig模板中使用这些过滤器?
Nic*_*tel 59
首先,您需要PHP intl扩展,因为Twig扩展是建立在它之上的.如果未启用PHP intl扩展,Twig Intl扩展将抛出异常.安装说明可以在官方PHP文档中找到.
在Ubuntu/Debian机器上,这就像运行以下命令一样简单:
sudo apt install php-intl
Run Code Online (Sandbox Code Playgroud)
在Windows机器上,您可能必须取消注释php.ini中的以下行:
extension=php_intl.dll
Run Code Online (Sandbox Code Playgroud)
对于CentOS或其他体系结构,请按照此处的说明进行操作.请注意,CentOS需要安装PECL和GCC C++编译器:yum install php-pear和yum install gcc-c++.
将扩展名添加到php.ini后,重新启动Web服务器.
接下来,您将需要Twig Extensions包(其中包含Intl扩展名),可以使用Composer进行安装.在命令行中运行此命令:
composer require twig/extensions
Run Code Online (Sandbox Code Playgroud)
这将为您添加依赖项composer.json并下载它.
注意:localizednumber和localizedcurrency1.2版本中引入了过滤器,因此如果要使用它们,至少需要该版本.
如果您在一个简单的PHP项目中使用Twig,则可以使用该config/services.yml方法添加扩展名.
<?php
use Twig\Environment;
use Twig\Extensions\IntlExtension;
$twig = new Environment($loader);
$twig->addExtension(new IntlExtension());
Run Code Online (Sandbox Code Playgroud)
如果您使用的是Symfony应用程序,则可以使用以下服务配置将扩展名添加到Twig config/framework.yaml:
services:
twig.extension.intl:
class: Twig\Extensions\IntlExtension
tags:
- { name: twig.extension }
Run Code Online (Sandbox Code Playgroud)
<?php
Locale::setDefault('nl-NL');
Run Code Online (Sandbox Code Playgroud)
编辑default_locale:
framework:
default_locale: en
Run Code Online (Sandbox Code Playgroud)