php - for - Cómo instalar la extensión Intl para Twig
twig for php (1)
La extensión Intl es una extensión para Twig que agrega los filtros localizeddate
, localizednumber
y localizedcurrency
. ¿Cómo puedo instalar y configurar la extensión para poder usar esos filtros en mis plantillas Twig?
Instala la extensión intl de PHP
En primer lugar, necesitará la extensión PHP intl , ya que la extensión Twig está construida sobre eso. La extensión Twig Intl lanzará una excepción si la extensión intl de PHP no está habilitada. Las instrucciones de instalación se pueden encontrar en la documentación oficial de PHP.
En las máquinas Ubuntu / Debian, esto es tan fácil como ejecutar el siguiente comando:
sudo apt-get install php5-intl
En las máquinas con Windows, probablemente deba descomentar la siguiente línea en php.ini:
extension=php_intl.dll
Para CentOS, u otras arquitecturas, siga las instrucciones here . Tenga en cuenta que CentOS requiere que tanto PECL como el compilador GCC C ++ estén instalados: yum install php-pear
y yum install gcc-c++
.
Una vez que la extensión se agrega a php.ini, reinicie el servidor web.
Instalar las extensiones de ramita
A continuación, necesitará el paquete Twig Extensions (que contiene la extensión Intl, entre otras), que puede instalarse utilizando Composer. Ejecute este comando en la línea de comandos:
composer require twig/extensions ^1.2
Esto agregará la dependencia a su composer.json
y la descargará.
Nota: los filtros localizednumber
y localizedcurrency
se introdujeron en la versión 1.2.0, por lo que necesita al menos esa versión si desea usarlos.
Añadiendo la extensión a Twig
Si está utilizando Twig en un proyecto PHP simple, puede agregar la extensión usando el addExtension()
.
$twig = new Twig_Environment($loader);
$twig->addExtension(new Twig_Extensions_Extension_Intl());
Añadiendo la extensión a Twig (en Symfony)
Si estás usando una aplicación Symfony, puedes agregar la extensión a Twig usando la configuración del servicio en app/config/services.yml
:
services:
twig.extension.intl:
class: Twig_Extensions_Extension_Intl
tags:
- { name: twig.extension }
Configurando el local
Locale::setDefault(''nl-NL'');
Configurando el local en Symfony
Editar app/config/config.yml
:
parameters:
locale: nl