Является ли использование @if (Auth :: user ()) таким же, как @auth в моем блэйд-представлении? - PullRequest
0 голосов
/ 17 декабря 2018

Я понял, что использую 2 способа, чтобы люди, которые не вошли в систему, не могли видеть вещи, предназначенные только для участников.Первый использует @if(Auth::user()), а второй - @auth.Например:

@auth
    <button class="submit-btn like liked" id='{{ $image->id }}'>
@endauth

И

@if(Auth::user())
    <button class="submit-btn like liked" id='{{ $image->id }}'>
@endif

Есть ли разница между этими двумя примерами или я должен просто придерживаться одного из них?

Ответы [ 2 ]

0 голосов
/ 17 декабря 2018

Правильнее использовать:

Auth:check() Auth:guest() в вашем коде, потому что они возвращают bool

auth()->check() auth()->guest() (то же самое с помощником).

И @auth @guest в клинке.

0 голосов
/ 17 декабря 2018

Начиная с версии 5.4.29 они в основном одинаковы.Более короткие @auth и @endauth являются лишь более коротким / скрытым способом для конструкции if-else.Для вашего удобства рекомендуется придерживаться одного из них.

Реальный момент, когда он сияет, - это когда вы используете охрану, поэтому вам не нужно делать что-то подобное (при условии, что у вас естьтип пользователя 'administrator'):

@if(Auth::user()->type === 'administrator')

Вместо этого достаточно следующего:

@auth('administrator')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...