为什么 blade 同时检查 if 和 elseif?

Why is blade checking both if and elseif?

通常当我这样检查(见下面的代码)并且第一个 iftrue 时,应该跳过 elseif。在我的例子中,它显示了 layouts.applayouts.donor.master 我在这里不明白什么?

@if(auth()->guard('web')->check())
    @extends('layouts.app')
@elseif(auth()->guard('donor')->check())
    @extends('layouts.donor.master')
@endif

似乎 @extends 完全忽略了 if 所以我不得不另辟蹊径。

@extends(auth()->guard('donor')->check() ? 'layouts.donor.master' : 'layouts.app')

这对我有用。