Я использую Laravel 5.7, я создал директиву Blade:
// create blade direct for prices
Blade::directive('price', function ($money) {
return "<?php echo number_format($money, 2, ',', ' ') .' €'; ?>";
});
Я могу использовать его в своих шаблонах лезвий, например:
<span>@price($product->price)</span>
Но как я могу использовать его в подходе php? У меня есть такой код:
@include('emails.table', [
__('order.reference') => $order->reference,
__('order.total') => @price($order->total),
])
Но не работает:
Call to undefined function price()
Я пробовал без @, но безуспешно. Должен ли я использовать для этого своего рода помощник по php?
То есть лучше в подпредставлении переводить и передавать только ключ?
В самом деле, я добавил ответ там, где я это сделал.






Вы передаете переменную в представление и используете в нем директиву blade-сервера @price.
@include('emails.table', [
'reference' => $order->reference,
'total' => $order->total,
])
А в emails.table вы делаете следующее:
<div>@trans('order.total'): @price($total)</div>
Да, но мое subview очень общее, я только перебираю все элементы и показываю значение
Почему вы переводите имена переменных, которые передаете в подпредставление?