Php 如何将Laravel(5.2)isset与包含变量的href一起使用?

Php 如何将Laravel(5.2)isset与包含变量的href一起使用?,php,laravel,laravel-5.2,laravel-blade,Php,Laravel,Laravel 5.2,Laravel Blade,我试图在我的刀片视图中使用isset(),如果设置了该值,则显示包含变量值的href 我正在使用{!!!!}使其工作,但是URL中的{{}}显示为原始HTML。这是可以理解的,但不是我需要的 {!! isset($scenario->bpmn) ? '<a href="{{ url($scenario->bpmn) }}" target="_blank"><i class="fa fa-file-image-o" aria-hidden="true"><

我试图在我的刀片视图中使用
isset()
,如果设置了该值,则显示包含变量值的
href

我正在使用
{!!!!}
使其工作,但是URL中的
{{}}
显示为原始HTML。这是可以理解的,但不是我需要的

{!! isset($scenario->bpmn) ? '<a href="{{ url($scenario->bpmn) }}" target="_blank"><i class="fa fa-file-image-o" aria-hidden="true"></i></a>' : '' !!}
{!!isset($scenario->bpmn)?“”:“”!!}

有办法做到这一点吗?

我们不能在另一个表达式中嵌套
{…}
{!!…!!}
表达式,因为Blade会将它们重写为类似于以下(简化)示例的输出语句:


这避免了使用未越界的
{!!…!!}
输出,如果
$scenario->bpmn
包含用户输入,则该输出有助于防止XSS攻击。

对于我来说,使用
@if
指令的唯一合理方法如下:

@if (isset($scenario->bpmn)) 
  <a href="{{ url($scenario->bpmn) }}" target="_blank"><i class="fa fa-file-image-o" aria-hidden="true"></i></a>
@endif
@if(isset($scenario->bpmn))
@恩迪夫

如果您查看文件内容,也会更容易阅读

所有好的答案,但这正是后面的内容。非常感谢!
{!! isset($scenario->bpmn) ? '<a href="' . url($scenario->bpmn) . '">...</a>' : '' !!}
@if (isset($scenario->bpmn))
    <a href="{{ url($scenario->bpmn) }}">...</a>
@endif
@if (isset($scenario->bpmn)) 
  <a href="{{ url($scenario->bpmn) }}" target="_blank"><i class="fa fa-file-image-o" aria-hidden="true"></i></a>
@endif