php – 如何安装Twig的Intl扩展

Intl extension是Twig的扩展,它添加了localizeddate,localizednumber和localizedcurrency过滤器.如何安装和设置扩展程序,以便在Twig模板中使用这些过滤器?

解决方法:

安装PHP intl扩展

首先,你需要PHP intl extension,因为Twig扩展是建立在它之上的.如果未启用PHP intl扩展,Twig Intl扩展将抛出异常. Installation instructions可以在官方PHP文档中找到.

在Ubuntu / Debian机器上,这就像运行以下命令一样简单:

sudo apt install php-intl

在Windows机器上,您可能必须取消注释php.ini中的以下行:

extension=php_intl.dll

对于CentOS或其他体系结构,请按照说明here进行操作.请注意,CentOS需要安装PECL和GCC C编译器:yum install php-pear和yum install gcc-c.

将扩展名添加到php.ini后,重新启动Web服务器.

安装Twig Extensions

接下来,您将需要Twig Extensions程序包(包含Intl扩展名等),可以使用Composer进行安装.在命令行中运行此命令:

composer require twig/extensions

这将为您的composer.json添加依赖项并下载它.

注意:版本1.2.0中引入了localizednumber和localizedcurrency过滤器,因此如果要使用它们,则至少需要该版本.

将扩展名添加到Twig

如果您直接使用Twig(即不在Symfony项目中),请手动将扩展名添加到Twig环境中:

<?php

use Twig\Environment;
use Twig\Extensions\IntlExtension;

$twig = new Environment($loader);
$twig->addExtension(new IntlExtension());

将扩展添加到Twig(在Symfony中)

如果您使用的是Symfony应用程序,则可以通过创建服务并将其标记为config / services.yml中的T​​wig扩展名来将扩展名添加到Twig:

services:
    twig.extension.intl:
        class: Twig\Extensions\IntlExtension
        tags:
            - { name: twig.extension }

设置默认语言环境

<?php

Locale::setDefault('nl-NL');

在Symfony中设置默认语言环境

在config / framework.yaml中,取消注释default_locale设置:

framework:
    default_locale: en
上一篇:PHP与IntlDateFormatter


下一篇:转:Web 开发中很实用的10个效果【附源码下载】