PHP 5.3 ?: ternary operator e o Twitto

Pense comigo em um exemplo simples,
onde você testa x e define valor padrão caso x não atenda ao
requisito mínimo.

Tradicionalmente escreveríamos algo assim:
  
> php > $x = 1; if( $x < 2 ){ $x = 3; }; var_dump($x);
> int(3)

Agora a escrita reduzida, adicionada no PHP 5.3:

> php > $x = 1; $x > 1 ?: $x = 3; var_dump($x);
> int(3)
> php > $x = 2; $x > 1 ?: $x =  3; var_dump($x);
> int(2)

A escrita reduzida permitiu a escrita de um framework em um tweet,
o Twitto – A web framework in a tweet:

require __DIR__.‘/c.php’; if (!is_callable($c = @$_GET[‘c’] ?: function() { echo ‘Woah!’; }
)) throw new Exception(‘Error’); $c();

Onde mais você vê o uso de :? ?

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *