Intl 拡張機能localizeddate
は、localizednumber
とlocalizedcurrency
フィルターを追加する Twig の拡張機能です。Twig テンプレートでこれらのフィルターを使用できるように、拡張機能をインストールしてセットアップするにはどうすればよいですか?
2 に答える
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-pear
とyum 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