28

Intl 拡張機能localizeddateは、localizednumberlocalizedcurrencyフィルターを追加する Twig の拡張機能です。Twig テンプレートでこれらのフィルターを使用できるように、拡張機能をインストールしてセットアップするにはどうすればよいですか?

4

2 に答える 2

68

PHP intl 拡張機能をインストールする

まず第一に、Twig エクステンションはその上に構築されているため、 PHP intl エクステンションが必要です。PHP intl 拡張機能が有効になっていない場合、Twig Intl 拡張機能は例外をスローします。インストール手順は、PHP の公式ドキュメントに記載されています。

Ubuntu/Debian マシンでは、これは次のコマンドを実行するのと同じくらい簡単です。

sudo apt install php-intl

Windows マシンでは、おそらく php.ini の次の行のコメントを解除する必要があります。

extension=php_intl.dll

CentOS またはその他のアーキテクチャについては、こちらの手順に従ってください。CentOS では、PECL と GCC C++ コンパイラの両方をインストールする必要があることに注意してください:yum install php-pearyum install gcc-c++.

拡張子が php.ini に追加されたら、Web サーバーを再起動します。

Twig 拡張機能をインストールする

次に、 Composer を使用してインストールできるTwig Extensionsパッケージ (特に Intl 拡張機能を含む) が必要になります。コマンド ラインで次のコマンドを実行します。

composer require twig/extensions

これにより、依存関係が追加され、composer.jsonダウンロードされます。

注:localizednumberおよびlocalizedcurrencyフィルターはバージョン 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 アプリケーションを使用している場合は、サービスを作成して Twig 拡張機能としてタグ付けすることで、拡張機能を Twig に追加できますconfig/services.yml

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
于 2015-02-09T12:52:29.533 に答える