Use o comando "or" no Blade

Blog » Laravel

Nas minhas views, costumava usar muito a função isset frequentemente para verificar se uma collection – ou qualquer outro tipo de variável – tinha sido instanciada. Um exemplo:

{{ ( isset( $nome ) ) ? $nome : 'Nome não informado' }}

Este código é mais curto do que escrever um bloco padrão de if/else:

@if(isset($nome))
    {{$nome}}
@else
    Nome não informado
@endif

Mas, você sabia que pode deixar esse código ainda mais limpo?

Basta usar o comando or, desta forma:

{{$name or 'Nome não definido'}}

Resumo desta dica em vídeo

Funciona para objetos?

Sim. Esta dúvida foi levantada em um fórum de Laravel e achei interessante compartilhar aqui também. Como esta diretiva é essencialmente um wrapper de da função isset, funciona perfeitamente para objetos e seus atributos.

Rota:


Route::get('/teste', function () {
    $obj = new stdClass();
    $obj->a = 'Letra a';
    $obj->b = null;
    return view('teste',['obj' => $obj]);
});

View:

A: {{$obj->a or 'A não definido'}}
<br>
B: {{$obj->b or 'B não definido'}} 
Também estou no Twitter

Gosto de falar sobre desenvolvimento web, tecnologia, trabalho remoto e projetos pessoais

Visite meu Twitter
Voltar
Compartilhe: