If inline para PHP

Oki

Este simples recurso pode facilitar muito a vida de quem programa e economizar algumas dezenas de linhas de código.

[ Hits: 77.385 ]

Por: Celso Goya em 14/05/2003


Usando o if inline para receber parâmetros de formulário



É muito comum consistirmos os parâmetros recebidos de um formulário para ver se realmente estão corretos e armazená-los em variáveis locais. Neste caso o if inline permite que façamos tudo isso em uma única linha, da seguinte maneira.

$param1 = isset($HTTP_POST_VARS[param1]) ? (int) $HTTP_POST_VARS[param1] : 0;

Neste caso realizamos as seguintes tarefas em uma única linha:
  • Verificamos se a variável está preenchida com o isset.
  • Se estiver preenchida então forçamos seu case para um inteiro. Desta forma prevenimos possíveis erros de inconsistência de tipos de variáveis em mySQL por exemplo.
  • Se não estiver preenchida atribuímos automaticamente o valor 0.
Isso é uma tremenda mão na roda, pois principalmente em sistemas onde trabalhamos com muitos campos de formulário temos a possibilidade de construir um bloco de código separado para realizar o tratamento inicial dos parâmetros e prevenir erros como, por exemplo, tentar somar uma variável a um número que não está sendo passado corretamente.

Outro benefício é que podemos realizar de forma ordenada a consistência dos parâmetros e é sempre bom lembrar dos cases, pois isto ajuda a prevenir os ataques de SQL Injection.

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Usando o if inline para receber parâmetros de formulário
   3. Usando if inline para realizar operações matemáticas
Outros artigos deste autor

Battle for Wesnoth

CoyoteLinux :: Compartilhando internet com um disquete

VegaStrike :: Simulador aero espacial

Bygfoot :: Agora você é o cartola!

Adonthell 0.3.3 :: Roleplaying game

Leitura recomendada

Sistema de Gerenciamento de Conteúdo

PHP e suas variáveis (básico)

PRADO - PHP 5 Framework

Xoops - Um ótimo gestor de portais em PHP

Instalando e configurando o PHP 7.1 no CentOS 7

  
Comentários
[1] Comentário enviado por oalexandrino em 16/05/2003 - 13:57h

Apesar de ser um recurso alternativo para programação. Na minha opnião fica um tanto quanto complicado para quem não utiliza essa característica.
Acarretando em dificuldade de compreensão de código.

Muita gente não conhece, mas exite outra alternativa bastante clara:

if ($a > $b):
$c = $b - $a;
else:
$c = 0;
endif;

ou na mesma linha,

if ($a > $b): $c = $b - $a; else: $c = 0; endif;

Podemos também ter um elseIF,

if ($a > $b):
$c = $b - $a;
elseif($a < $b):
$c = 1;
else:
$c = 0;
endif;

[2] Comentário enviado por Oki em 16/05/2003 - 16:46h

oalexandrino,
Eu prefiro utilizar o if com ? e :, pois ele usa a mesma sintaxe do JavaScript e do C e outras linguagens, mas sua sugestão é muito boa, pois usando as palavras if else e endif o código fica mais claro e para quem é mais leigo isso é muito importânte, entretanto ainda reforço que se o programador for iniciante ou estiver trabalhando em um grupo onde as pessoas não conhecem este recurso ao invés de ajudar podemos acabar atrapalhando.

Podemos resumir em: "Use com moderação" :-)

Obrigado por sua contribuição e sua dica já está na minha lista :-)

[]'s
Celso Goya
moinho.net

[3] Comentário enviado por asphp em 23/07/2003 - 18:25h

o veii eh fogo hauahuau, porra, chamaram-o de "?"(apenas interrogacao) agora chama de if inline, uahushauhsa eita meu!! eh o segundo comentario meu.. esse "?" ou if inline como vcs chamam, na verdade chama-se OPERADOR TERNÁRIO!!!!!

[4] Comentário enviado por joaocagnoni em 01/06/2008 - 19:12h

Pô amigo, aí na terceira página você fechou uma tag com "</spam>". Sem spam por favor hein, já recebo 1 monte hoje em dia...

[5] Comentário enviado por fabio em 05/12/2015 - 20:56h

Passados 12 anos da publicação, eis que procuro por "if inline em PHP" no Google para relembrar a sintaxe... cá estou! :)


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts