如何在 laravel 中正确配置 elseif 语法
how to correctly configure elseif syntax in laravel
我在 blade 中遇到以下情况,即使配置正确,@elseif 也不起作用。
在 html 中它把我带走了而不是
@if ($posts->mime_type == ('video/mp4'||'video/quicktime'))
<video loop muted autoplay class="item-img" src="../public/uploads/file_manager/{{ get_array_data($posts->cover_image) }}" alt="Tutoriale cum sa creezi gratuit un site"></video>
@elseif ($posts->mime_type == ('image/jpg'||'image/png'))
<image class="item-img" src="../public/uploads/file_manager/{{ get_array_data($posts->cover_image) }}" alt="Tutoriale cum sa creezi gratuit un site"></image>
@else
<div style="padding:100% 0 0 0;position:relative;"><iframe src="https://player.vimeo.com/video/{{ get_array_data($posts->video_url) }}" frameborder="0" allow="autoplay; fullscreen; picture-in-picture" allowfullscreen style="position:absolute;top:0;left:0;width:100%;height:100%;" title="Gene fir cu fir Brasov"></iframe></div><script src="https://player.vimeo.com/api/player.js"></script>
@endif
第一个和第二个条件被忽略因为实际上没有mime_type
等于1
.见 https://3v4l.org/kLvRR
<?php
echo ('video/mp4'||'video/quicktime'); // Will show 1
这导致:
- 只有在 URL 此处
"https://player.vimeo.com/video/{{ get_array_data($posts->video_url) }}"
有意义的情况下才向视频播放器显示实际视频。
- 否则你会像第二张和第三张一样得到一张白卡。
将代码更改为:
@if ($posts->mime_type == 'video/mp4' || $posts->mime_type == 'video/quicktime')
{{-- ^^^^ --}}
<video loop muted autoplay class="item-img"
src="../public/uploads/file_manager/{{ get_array_data($posts->cover_image) }}"
alt="Tutoriale cum sa creezi gratuit un site"></video>
@elseif ($posts->mime_type == 'image/jpg' || $posts->mime_type == 'image/png')
{{-- ^^^^ --}}
<image class="item-img" src="../public/uploads/file_manager/{{ get_array_data($posts->cover_image) }}"
alt="Tutoriale cum sa creezi gratuit un site"></image>
@else
<div style="padding:100% 0 0 0;position:relative;">
<iframe src="https://player.vimeo.com/video/{{ get_array_data($posts->video_url) }}" frameborder="0"
allow="autoplay; fullscreen; picture-in-picture" allowfullscreen
style="position:absolute;top:0;left:0;width:100%;height:100%;" title="Gene fir cu fir Brasov"></iframe>
</div>
<script src="https://player.vimeo.com/api/player.js"></script>
@endif
通常检查图像或视频的条件更好
substr($posts->mime_type,0 ,5) === 'video';
substr($posts->mime_type,0 ,5) === 'image';
特定 MIME 类型的清洁条件:
// Somewhere in your code
$my_videos_mime_types = ['video/mp4', 'video/quicktime'];
$my_images_mime_types = ['image/jpg', 'image/png'];
in_array($posts->mime_type, $my_videos_mime_types);
in_array($posts->mime_type, $my_images_mime_types);
我在 blade 中遇到以下情况,即使配置正确,@elseif 也不起作用。
在 html 中它把我带走了而不是
@if ($posts->mime_type == ('video/mp4'||'video/quicktime'))
<video loop muted autoplay class="item-img" src="../public/uploads/file_manager/{{ get_array_data($posts->cover_image) }}" alt="Tutoriale cum sa creezi gratuit un site"></video>
@elseif ($posts->mime_type == ('image/jpg'||'image/png'))
<image class="item-img" src="../public/uploads/file_manager/{{ get_array_data($posts->cover_image) }}" alt="Tutoriale cum sa creezi gratuit un site"></image>
@else
<div style="padding:100% 0 0 0;position:relative;"><iframe src="https://player.vimeo.com/video/{{ get_array_data($posts->video_url) }}" frameborder="0" allow="autoplay; fullscreen; picture-in-picture" allowfullscreen style="position:absolute;top:0;left:0;width:100%;height:100%;" title="Gene fir cu fir Brasov"></iframe></div><script src="https://player.vimeo.com/api/player.js"></script>
@endif
第一个和第二个条件被忽略因为实际上没有mime_type
等于1
.见 https://3v4l.org/kLvRR
<?php
echo ('video/mp4'||'video/quicktime'); // Will show 1
这导致:
- 只有在 URL 此处
"https://player.vimeo.com/video/{{ get_array_data($posts->video_url) }}"
有意义的情况下才向视频播放器显示实际视频。 - 否则你会像第二张和第三张一样得到一张白卡。
将代码更改为:
@if ($posts->mime_type == 'video/mp4' || $posts->mime_type == 'video/quicktime')
{{-- ^^^^ --}}
<video loop muted autoplay class="item-img"
src="../public/uploads/file_manager/{{ get_array_data($posts->cover_image) }}"
alt="Tutoriale cum sa creezi gratuit un site"></video>
@elseif ($posts->mime_type == 'image/jpg' || $posts->mime_type == 'image/png')
{{-- ^^^^ --}}
<image class="item-img" src="../public/uploads/file_manager/{{ get_array_data($posts->cover_image) }}"
alt="Tutoriale cum sa creezi gratuit un site"></image>
@else
<div style="padding:100% 0 0 0;position:relative;">
<iframe src="https://player.vimeo.com/video/{{ get_array_data($posts->video_url) }}" frameborder="0"
allow="autoplay; fullscreen; picture-in-picture" allowfullscreen
style="position:absolute;top:0;left:0;width:100%;height:100%;" title="Gene fir cu fir Brasov"></iframe>
</div>
<script src="https://player.vimeo.com/api/player.js"></script>
@endif
通常检查图像或视频的条件更好
substr($posts->mime_type,0 ,5) === 'video';
substr($posts->mime_type,0 ,5) === 'image';
特定 MIME 类型的清洁条件:
// Somewhere in your code
$my_videos_mime_types = ['video/mp4', 'video/quicktime'];
$my_images_mime_types = ['image/jpg', 'image/png'];
in_array($posts->mime_type, $my_videos_mime_types);
in_array($posts->mime_type, $my_images_mime_types);