Jump to content


Photo

Melhores Usos, Tem Alguma Diferença Entre Uso E Uso?


  • Faça o login para participar
38 replies to this topic

#31 hostdesigner

hostdesigner

    Super Veterano

  • Usuários
  • 2910 posts
  • Sexo:Masculino
  • Localidade:Quirinópolis-GO
  • Interesses:Programação, Mulheres, Diversão, Mulheres, Música, Mulheres, Meu Carro, Mais mulheres, Internet, Outras Mulheres, Quase por último PAZ e por ultimo Outras Váááárias Mulheres...

Posted 12/09/2007, 20:54

@ CRAB
Concordo com você, tanto que criei o tópico, o xxxxxx é que todos os moderadores me chamam a atenção quando eu fico dando continuação em algum tópico... (daqui a pouco alguém vai fazer de novo :( )

Bom, sobre a sua dúvida, eu não tenho nenhum dado tecnico sobre isso, mas...
$var = $_POST['campo'];

echo $var
seria desvantajoso em relação a quantidade de digitos que temos que fazer para imprimir a informação, penso que seja mais rápido processar

echo $_POST['campo']

já que o valor recuperado pela super global não vai passar para um terceiro procedimento (atribuição de valor).

Falopa!

Edição feita por: hostdesigner, 13/09/2007, 14:23.


#32 savior

savior

    Campanha [codebox], use ou morra :D

  • Usuários
  • 1229 posts
  • Sexo:Masculino
  • Localidade:Curitiba, PR - Brasil
  • Interesses:Na vida ;P

Posted 12/09/2007, 21:36

Eu considero um mau habito acessar diretamente variáveis globais, tais como get e post.

Prefiro sempre atribuir ela inteira para uma array.

$arrValores = count($_POST) > 0 ? $_POST : null;
if (isset($arrValores)) {
	echo $arrValores['var'];
}

A unica que tenho costume de acessar diretamente é $_SESSION mesmo ;b

[lastfm] [blog]

Campanha codebox: use-a ou morra!
bfmaster_duran[at]yahoo.com.br


#33 Crab

Crab

    Da paz, mas preparado para Guerra

  • Ex-Admins
  • 2521 posts
  • Sexo:Masculino
  • Localidade:Florianópolis - SC
  • Interesses:Desenvolvimento Gráfico e Web.

Posted 13/09/2007, 00:04

Mas na verdade o que vc está fazendo savior é a mesma coisa que:

echo $_POST['campo'];

Só que a forma que vc faz é mais eficiente, pois faz uma verificação antes...

...mas de qualquer forma entendi o que quis dizer savior, mas tbm acho que dar saída direto nas superglobais como o hostdesigner disse, sem atribuir à variáveis, seja mais rápido o processamento mesmo, questão de lógica.

Agra o que seria mais semântico, o Paulo Ricardo poderia nos elucidar com a sua visão e opinião sobre o assunto :D

(y) Até mais

#34 bimonti

bimonti

    Super Veterano

  • Usuários
  • 2654 posts
  • Sexo:Masculino

Posted 13/09/2007, 09:10

Depende da velocidade que você fala, se for de processamento acho que não faz diferença muito grande. Se digitação tem casos que faz uma boa diferença, ex.:

$n = $_POST['nome'];

echo "Sr. $n, bem-vindo a sua casa $n, na cidade $n, bla bla bla";

Só ali já poupou caracteres pra caramba, mas assim que o Paulo Ricardo aparecer aí ele vai falar que é uma prática errônea, nomes tem que ser intuitivos, padrão PEAR, etc... rs

Chamar direto super global é perigoso hein ... $_SESSION não sei se existe problema, afinal, se gravou tem que ter certeza do que gravou.... :lol:

Agora, POST e GET o usuário tem como modificar os dados enviados, o bom é tratar de acordo com o padrão esperado, por exemplo um ID na URL, somente números e até 5 caracteres, além de verificar se não precisa de escape. Eu uso essa função que eu modifiquei baseado nas do Wordpress:

function escape($string){
	return addslashes($string);
	if(function_exists('mysql_real_escape_string')){
		return mysql_real_escape_string($string);
	}else{
		return mysql_escape_string($string);
	}
}

Uso pra manipulação do banco. Tem que verificar se está habilitado magic quotes antes de aplicar.
WebFórum - Equipe de Desenvolvimento - Monitor
Posted Image
Yeah I do have some stories, and it's true I want all the glory ...

#35 savior

savior

    Campanha [codebox], use ou morra :D

  • Usuários
  • 1229 posts
  • Sexo:Masculino
  • Localidade:Curitiba, PR - Brasil
  • Interesses:Na vida ;P

Posted 13/09/2007, 09:50

seja mais rápido o processamento mesmo, questão de lógica


Quer velocidade? Faz em procedural então :P ... C++ é ainda o mais fast'n furious xD

Agora sobre os nomes, eles tem que ser intuitivos, mesmo que só você mecha com o projeto, lá na frente você esquece das coisas.

É mais fácil entender um $arrValores do que um $n, não acham?

Padrão PEAR -> para o povo entender.

Que que adianta ter velocidade se eu código é um POG?

@bimonti

Sua função de escape de Strings é boa, mas pensou se você usasse uma camada de abstração ao banco de dados, com oo ADODB você evitaria de passar essa função junto?

[lastfm] [blog]

Campanha codebox: use-a ou morra!
bfmaster_duran[at]yahoo.com.br


#36 Renan Gonçalves

Renan Gonçalves

    Web Developer

  • Usuários
  • 771 posts
  • Sexo:Masculino
  • Localidade:São Paulo, SP
  • Interesses:Programar PHP, Java (e JSP), Javascript (com Ajax, claro), Ruby (on Rails) !

Posted 13/09/2007, 09:55

Ainda existe o Zend Framework PHP Coding Standard
Vale a pena dar uma olhada !

Ou melhor, podemos abstrair algumas coisas do Code Conventions for Java :P


[]'s

Renan Gonçalves
renan.saddam@gmail.com
(WebSite / Gmail / orkut / Windows Live! Messenger
)

"Aquele que se define se limita."


#37 savior

savior

    Campanha [codebox], use ou morra :D

  • Usuários
  • 1229 posts
  • Sexo:Masculino
  • Localidade:Curitiba, PR - Brasil
  • Interesses:Na vida ;P

Posted 13/09/2007, 10:05

Já teve essa discussão antes Renan :P

Vale a pena ver denovo

:assobio:

[lastfm] [blog]

Campanha codebox: use-a ou morra!
bfmaster_duran[at]yahoo.com.br


#38 Paulo Freitas

Paulo Freitas

    ××××××× LRU #456504 ××××××× ××××××× LRM #364686 ×××××××

  • Ex-Admins
  • 5612 posts
  • Sexo:Masculino
  • Localidade:Campinas - SP

Posted 14/09/2007, 19:20

$arrValores = count($_POST) > 0 ? $_POST : null;
if (isset($arrValores)) {
	echo $arrValores['var'];
}

Nos códigos padronizados que vejo, isso não acontece. Porquê? Tu faz conexão em Xangai para pousar em Marrocos. :assobio:

Veja:

if (isset($_POST['anything'])) {
	// work with $_POST['anything'];
} else {
	// otherwise...
}
O que tu mostrou ai encima não faz muito sentido, só economiza alguns bytes de código (ou seja, não quer dizer nada). Além do mais, a legibilidade do código é afetada - o cidadão ao trabalhar num projeto multi-usuário vai ter que procurar o que significa $arrValores, o que num código monstruoso pode ser um incoveniente. :notme:

[]’s :DAté mais

#39 savior

savior

    Campanha [codebox], use ou morra :D

  • Usuários
  • 1229 posts
  • Sexo:Masculino
  • Localidade:Curitiba, PR - Brasil
  • Interesses:Na vida ;P

Posted 15/09/2007, 20:34

Como eu disse
cada um é com cada um ... n gosto de trabalhar direto com variáveis globais. Se quer dizer nada com nada, então que fique dessa maneira :P

Anyway ... algo interessante: PHP Tip: A quick way to measure the performance of code

[lastfm] [blog]

Campanha codebox: use-a ou morra!
bfmaster_duran[at]yahoo.com.br





1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq