Twig üzerinde PHP Fonksiyonu Çalıştırmak

Selam, çok kısa bir şeyden bahsedip gideceğim.

Bilen bilir, Twig üzerinde PHP fonksiyonları veya kendi yazdığınız fonksiyonları normal şartlarda çalıştıramıyorsunuz. Ek paketler ile yapılıyor bildiğim kadarıyla ama ben size daha basit bir yöntemden bahsedicem.

Hızlıca Twig motorumuzu index.php içinde çalıştıralım;

require_once 'vendor/autoload.php';

$loader = new Twig_Loader_Filesystem('templates');
$twig = new Twig_Environment($loader);

daha sonra render edeceğimiz dosyada kullanmak için bir fonksiyon yazalım. Normal şartlarda direk function() diyip yazacaktık, ama bunu dosyamıza render etmek için bir değişken altında toplayarak küçük bir trick yapacağız.

$fonksiyon = function($a){
if( $a == 1 ) return "doğru!";
return "yanlış!";
}

sonrasında altına templates/index.html dosyamızı render edelim

echo $twig->render('index.html',["fonksiyon" => $fonksiyon]);

En son index.html dosyamızda fonksiyonumuzu çalıştıralım;

{{ fonksiyon(1) }}
<br>

{{ fonksiyon(2) }}

Kolay gelsin :)