Laravel - Как передать переменную в раздел лезвия в одну строку? - PullRequest
0 голосов
/ 05 октября 2019

как я могу передать переменную в блейд-команду "@section" с помощью однострочного подхода? У меня есть это:

@section('title', 'Hello')

Теперь я хочу что-то вроде

@section('title', 'Hello {{ $user->name}} foo') // doesn't work
// or
@section('title', 'Hello ' . {{ $user->name}} . ' foo') // doesn't work
// or
@section('title', 'Hello ' . htmlspecialchars($user->name) . ' foo') // this works
// or
@section('title')Hello {{ $user->name }} foo @endsection // this works

Последние два просто отлично работают, но я не хочу использовать обычный php в моем шаблоне блейда, а такжеЯ не хочу использовать @endsection для заголовка.

Как я могу это сделать? Есть ли возможность, или я должен пойти с одним из двух решений?

Ответы [ 4 ]

1 голос
/ 05 октября 2019

Не используйте клинок эхо в директивах клинка, они уже php код

Удалите двойные фигурные скобки и оберните все в двойные кавычки

@section('title', "Hello $user->name foo")

Это так короткокак вы можете получить

0 голосов
/ 05 октября 2019

Вы можете удалить фигурные скобки следующим образом:

@section('title', 'Hello ' . $user->name . ' foo') // This should work
0 голосов
/ 05 октября 2019
@section('title', 'whatever your string')

все, что вам нужно сделать, это отформатировать строку, которая поддерживается блейдом.

0 голосов
/ 05 октября 2019

Может быть, это то, что вы ищете

@section('title')
 Hello, {{ $user->name}}
@endsection

Как насчет этого

@section('title', 'Hello ' . auth()->user()->name )
...