首页 > 解决方案 > Laravel 刀片:语法错误,意外的 'endif' (T_ENDIF)

问题描述

我试图以这种方式在 Laravel 刀片文件中的 HTML 标记内简写 if 语句:

<x-checkbox name="enable" id="enable" {{ ($settings->enable) ? 'checked' : '' }}>
    {{ __('Enable') }}
</x-checkbox>

但它得到这个错误syntax error, unexpected 'endif' (T_ENDIF)。我研究了类似的问题并尝试了解决方案,但仍然遇到同样的错误。有什么建议吗?提前致谢。

编辑:复选框组件

<label class="inline-flex items-center mt-3">
    <input
        {{ $attributes->merge(['class' => 'form-checkbox h-5 w-5 rounded text-indigo-600']) }}
        name="{{ $name }}"
        id="{{ $name }}"
        type="checkbox"
        >
    <span class="ml-2 text-gray-900 text-md font-medium">{{ $slot }}</span>
</label>

标签: phplaravellaravel-blade

解决方案


这条线抛出的错误

<x-checkbox name="enable" id="enable" {{ ($settings->enable) ? 'checked' : '' }}>

所以改变

  <x-checkbox name="enable" id="enable" checked="{{$settings->enable}}">
        {{ __('Enable') }}
    </x-checkbox>

然后在组件中

@props([
'checked'=>false,

])
     <label class="inline-flex items-center mt-3">
            <input
                {{ $attributes->merge(['class' => 'form-checkbox h-5 w-5 rounded text-indigo-600']) }}
                name="{{ $name }}"
                id="{{ $name }}"
                type="checkbox"  {{$checked?'checked':''}}
            >
            <span class="ml-2 text-gray-900 text-md font-medium">{{ $slot }}</span>
        </label>

推荐阅读