Laravel использует директиву лезвия внутри блока php

Я использую 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?

Почему вы переводите имена переменных, которые передаете в подпредставление?

Jerodev 18.12.2018 16:46

То есть лучше в подпредставлении переводить и передавать только ключ?

Vincent Decaux 18.12.2018 16:47

В самом деле, я добавил ответ там, где я это сделал.

Jerodev 18.12.2018 16:48
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Laravel Scout - это популярный пакет, который предоставляет простой и удобный способ добавить полнотекстовый поиск в ваше приложение Laravel. Он...
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
1
3
525
1

Ответы 1

Вы передаете переменную в представление и используете в нем директиву blade-сервера @price.

@include('emails.table', [
     'reference' => $order->reference,
     'total' => $order->total,
])

А в emails.table вы делаете следующее:

<div>@trans('order.total'): @price($total)</div>

Да, но мое subview очень общее, я только перебираю все элементы и показываю значение

Vincent Decaux 18.12.2018 16:48

Другие вопросы по теме