gpt4 book ai didi

php - 如何为 Twig 安装 Intl 扩展

转载 作者:IT王子 更新时间:2023-10-28 23:45:04 29 4
gpt4 key购买 nike

Intl extension是 Twig 的扩展,它添加了 localizeddatelocalizednumberlocalizedcurrency 过滤器。如何安装和设置扩展,以便在我的 Twig 模板中使用这些过滤器?

最佳答案

安装 PHP 国际扩展

首先,您需要 PHP intl extension ,因为 Twig 扩展是建立在它之上的。如果未启用 PHP 国际扩展,Twig 国际扩展将抛出异常。 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-pearyum install gcc-c++

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

安装 Twig 扩展

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

composer require twig/extensions

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

注意:localizednumberlocalizedcurrency 过滤器是在版本 1.2.0 中引入的,因此如果您想使用它们,您至少需要该版本。

将扩展添加到 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 中的 Twig 扩展来将扩展添加到 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 - 如何为 Twig 安装 Intl 扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25948853/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com