Синтаксис лезвия Laravel для проблемы с интервалом @ if / @ endifif

каков аналогичный синтаксис лезвия для следующего кода?

<?php if (...):?>abc<?php else:?>cde<?php endif;?>

код @if (...) abc @else .... бесполезен, поскольку он рекламирует пробел до и после "abc" кода @if (...) abc @ endif (без пробелов до и после строки html) генерирует ошибку ...

Спасибо

Стоит ли изучать 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-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
0
0
1 653
7

Ответы 7

Попробуй это:

@if (...) {{ 'abc' }} @else

я думал об этом, но это УЖАСНО;) ... также тестировал, это не имеет никакого значения, пробелы все еще добавляются ... abc == {{'abc'}} проблема по-прежнему заключается в пробелах до и после { {}}

Vlad Agri 13.11.2018 18:18

УРОДЛИВЫЙ!! Ты меня смешишь ..: D: D

Sand Of Vega 13.11.2018 18:19

Благодарим вас за фрагмент кода, который может оказать некоторую немедленную ограниченную помощь. Правильное объяснение значительно улучшило бы его долгосрочная стоимость, объяснив, почему это хорошее решение проблемы, и сделало бы его более полезным для будущих читателей с другими подобными вопросами. Измените свой ответ, чтобы добавить пояснения, включая сделанные вами предположения.

sepehr 13.11.2018 22:07

Правильный ответ!

Parsa_Gholipour 31.08.2020 08:51

Провел немного больше исследований, и похоже, что решения нет, так как в лезвии нет метки без места. Я нашел решение от кого-то, кто оборачивает свою строку в дополнительные теги hml (так что это просто, поскольку он рекламирует пробелы до и после тега и строку внутри тега si spaceless), но в моем случае мне просто нужна строка без пробелов до и после ... Я пойду старомодным способом php ...

Я думаю, что базовый дополнительный тег <span> должен помочь вам добиться того, что вы ищете, используя директивы blade-сервера до тех пор, пока

Johhn 28.05.2019 22:38

Правильный синтаксис:

@if (...)
   abc
@else
   cde
@endif

Я никогда не видел нежелательных пространств с этим.

да, есть пробелы ... добавьте что-нибудь перед if и после if (например, открывающие и закрывающие скобки) и попытайтесь получить содержимое внутри рядом с скобками без пробелов ... (@if (...) abc @endif ). В конце обязательно должен стоять пробел, если в противном случае слово не будет распознано парсером. И это пространство затем применяется к результату ... можно ли получить текст вроде (abc), где скобки находятся за пределами оператора if, а abs является результатом на ветке then or else?

Vlad Agri 15.11.2018 18:55

У меня были похожие проблемы с пробелами. Я использую обходной путь:
Поместите оператор if в теги php

@php
  $myVar = 'abc';
  if (...) $myVar = 'cde';
@endphp

а затем повторить определенную переменную

{{$myVar}}

Решение

Правильное решение этой проблемы будет следующим:

@if (1==1){{ '1' }}@endif

Это часто случается и создает проблемы с "чувствительными к пространству" частями кода, такими как значения в тегах <option>.

@if (1==1) 1 @endif будет скомпилирован следующим образом, в котором показаны пустые места вокруг числа:

<?php if (1==1): ?> 1 <?php endif; ?>

Код решения будет скомпилирован в этот код:

<?php if (1==1): ?><?php echo e('1'); ?><?php endif; ?>

Что в значительной степени объясняет, почему при этом не будет дополнительных пробелов.

Это обходной путь, но я все же думаю, что мы всегда должны помнить, что это среда PHP ... Итак, просто:

@php
    if (...) echo "abc";
    else echo "cde";
@endphp

Я нашел решение, если есть проблема с пространством между @if () @ endif и @if. Я заменил @if () @endif на переменную {{$ wardname}}, которая будет напечатана с использованием {{$ wardname}} @ if, и ее устранен конфликт с @endif & @if

и прикладная логика вроде:

if ($city->wardname! = "") {
    $wardname = "(".$city->wardname.")";
}else{
    $wardname = "";
}

Реализовано как: {{$ wardname}} @ если

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