勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ

PHPのテンプレートエンジン「Twig」の使い方について簡易メモ

   2024/02/20  PHP

開発中の案件でテンプレートエンジンのTwigを利用する機会があった。使ってみた感じview(HTML部分)とプログラム部分が切り分けられているだけっぽい。プログラム部分は素のPHPでいいが、view側も多少は関数等入れられるのでよく使うものをメモ。

 

公式ページ

https://twig.symfony.com/doc/2.x/

ページ下の方にリファレンスがある。

 

よく使うもの

#変数の定義
{% set hoge = 'hogehoge' %}

#変数の出力
{{ hoge }}

#エスケープせずに出力(htmlタグ入りの場合等)
{{ hoge_html|raw }}

if文(||はor, &&はandに変更する)
{% if msg == 'success' %}
    true処理
{% elseif msg == 'error' %}
    false処理
{% endif %}

#foreach的なもの(連想配列のループ取り出し)
{% for key, val in array_list  %}
    {{ attribute( item_array, 'array_key' ) }}
{% endfor %}

#PHPのnumber_format的なもの
{{ 10000 | number_format(1, '.', ',') }}

 - PHP

  関連記事

Shift_JISでカタカナのソを出力するとエラー
Shift_JISでカタカナのソを出力するとエラー

先に結論として5C問題とかいうみたいで仕様らしい。 ■参考サイト http:// ...

php.iniを変更後にApacheを再起動しても反映されない場合の対応方法
php.iniを変更後にApacheを再起動しても反映されない場合の対応方法

先日AlmaLinux8系にChronyをインストールしてサーバの時刻同期を行っ ...

CodeIgniter4 & jQueryを用いて同一サイト内でajax通信する方法
CodeIgniter4 & jQueryを用いて同一サイト内でajax通信する方法

CodeIgniter4.4.4 & jQueryを用いて同一サイト内で ...

Google Maps APIとPHPを組み合わせて複数マーカーとウィンドウを連携させる方法
Google Maps APIとPHPを組み合わせて複数マーカーとウィンドウを連携させる方法

やりたかった事は以下の通り。 mysqlから経度緯度、マーカー名、マーカーIDを ...

JavaScriptの「pako」ライブラリでGzip圧縮したデータをPHPで展開する方法
JavaScriptの「pako」ライブラリでGzip圧縮したデータをPHPで展開する方法

先日、JavaScriptの「pako」ライブラリで文字列やオブジェクト(連想配 ...