сокращенная версия isset, за которой следует eval - PullRequest
0 голосов
/ 17 июня 2020

Настройка некоторых навигационных ссылок в laravel и попытка настроить некоторые встроенные проверки на основе попадания URL-адреса, что сделает навигационную ссылку «активной» или нет, но возникает проблема, когда я не могу запустить isset() перед выражением. Не уверен, где я проигрываю!

Просто к сведению - $third - это третий бит URL-адреса - в этом случае URL-адрес находится только на уровне $second, поэтому $third не определен. это означает, что я не хочу, чтобы оператор запускался.

<a class="nav-link {{ $third ?? $third === 'introduction' ? 'active' : '' }}" href="xyz"

Как запустить

$third === 'introduction' ? 'active' : ''

только тогда, когда существует третий $!

Спасибо

Ответы [ 2 ]

1 голос
/ 17 июня 2020

Разве это не сработает?

<a class="nav-link {{ isset($third) ? ($third === 'introduction' ? 'active' : '') : '' }}" href="xyz">
0 голосов
/ 17 июня 2020
<a class="nav-link {{ (isset($second) && isset($third) && $third === 'introduction') ? 'active' : '' }}" href="Xyz">
...