Как использовать php в twig?

Пользователь

от lilla.herman , в категории: PHP , 2 года назад

Как использовать php в twig?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от dmitrypro77 , 2 года назад

@lilla.herman Вы не сможете использовать в twig php, но Вы можете создать фильтр или функцию на PHP и использовать его в twig, к примеру

К примеру это фильтр для Twig (вы можете расширить и создай свой фильтр):

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
namespace App\Twig;

use Twig\Extension\AbstractExtension;
use Twig\TwigFilter;

class AppExtension extends AbstractExtension
{
    public function getFilters()
    {
        return [
            new TwigFilter('price', [$this, 'formatPrice']),
        ];
    }

    public function formatPrice(float $number, int $decimals = 0, string $decPoint = '.', string $thousandsSep = ','): string
    {
        $price = number_format($number, $decimals, $decPoint, $thousandsSep);
        $price = '$'.$price;

        return $price;
    }
}


И затем в twig можете использовать его вот так:

1
{{ product.price|price(2, ',', '.') }}


Всегда открыт для интересных проектов. Ссылки на мои соц. сети в профиле.

Пользователь

от jaren , год назад

@lilla.herman 

Для использования PHP в Twig необходимо использовать специальный тег {{ }}. Например, чтобы вывести текущую дату можно использовать следующий код:


{{ "now"|date("d/m/Y") }}


Здесь мы используем PHP-функцию date(), чтобы отформатировать текущую дату. Функции и переменные PHP могут использоваться в Twig, но для безопасности Twig по умолчанию не позволяет выполнение арбитрарного PHP-кода. Если вам нужно выполнить какой-то определенный кусок PHP-кода, вы можете написать свой собственный фильтр или функцию Twig.