Twig 3系に備えてTwig 1.x系を2系に更新しておこう

タイトルで完結しているかつ詳細も次のリンクで全てなのですが、利用者がそれなりに多そうな話題を見かけなかったので。

Preparing your Applications for Twig 3

Symfonyやそれ以外の環境でもよく使われているPHP向けテンプレートエンジン Twig の バージョン 3系が2019年末頃にリリースとなります。Twigは古いバージョンのPHPにも対応する1.x系とある程度新しいバージョンにのみ対応する2.x系が有りどちらもメンテナンスが続いていますが、3系のリリースに備えて1.xユーザーの方は2系に移行するようアナウンスされています。

移行のために

まずPHPの対応バージョンは以下のようになっています。いずれも composer.json で指定されている値です。

Twig 1.x : PHP 5.5.0 以上
Twig 2.x : PHP 7.0 以上
Twig 3.x : PHP 7.2.9 以上

1.x から 2.xは基本的には入れ替えるだけでそのまま動きます。ただし2.x で depricated (廃止予定)となったものや internal (内部的に使う関数であり直接の使用が非推奨)となっているものが 3.xで実際に廃止となりますので、まずは 2.x に移行した状態でその部分の対処を行う事で 3.x に備える事が出来ます。

該当のクラスや関数にはPHPDocのコメントが入りPhpStormなどのIDE環境においては対象箇所が視覚的に分かるようになっています。2.xで名前空間の整理が進み呼び出すクラスが変わる部分がいくつか有りますが、呼び出すクラスを変えるだけでほぼそのまま動く事が多いと思います。

2019年11月16日追記
Twig 3.0.0 がリリースされたようです
https://github.com/twigphp/Twig/releases/tag/v3.0.0