Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Nielsen Tomazini

Para que serve o sinal "@" antes de uma função no php?

Recommended Posts

Olá Pessoal,

 

Lendo alguns tutoriais, e continuando a aprender php, me deparei com um script para enviar e-mails em que a função mail() está assim:

 

if (@mail($email, $subject, $message, $headers))

 

Bem, não estou tendo problemas, está tudo funcionando bem, mas eu gostaria de saber o porque do uso do "at", ou seja, o sinal "@". Qual a função disso?

Eu não vejo nada no manual do PHP.

Acho que já vi o uso deste sinal também em outras funções.

Se puderem me explicar ou pelo menos me direcionar para onde eu posso entender isto, eu agradeço muito.

 

Valeu!! E Deus abençoe a todos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O arroba evita que um possível erro seja exibido. Veja mais neste link:

 

http://www.php.net/manual/pt_BR/language.o...rrorcontrol.php

 

http://forum.imasters.com.br/public/style_emoticons/default/natal_smile.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá amigão...

 

esse sinal serve para ocultar um erro de função, ou seja caso a função MAIL(); venha a falhar o erro não vai aparecer...

 

experimente retirar o @ e veja o que aparece.

 

Abraços.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Lá o php.net indicaram esse script para logar todos os erros:

 

<?php
 session_start();
  function error($error, $return=FALSE) {
	  global $php_errormsg;
	  if(isset($_SESSION['php_errors'])) {
		$_SESSION['php_errors'] = array();	
	}
  $_SESSION['php_errors'][] = $error; // Maybe use $php_errormsg
  if($return == TRUE) {
	$message = "";
	   foreach($_SESSION['php_errors'] as $php_error) {
		  $messages .= $php_error."\n";
	 } 
	return $messages; // Or you can use use $_SESSION['php_errors']
  }
}
?>

Não sei direito como funciona mas parece ser muita boa do que colocar @ em todos os codigos

Compartilhar este post


Link para o post
Compartilhar em outros sites

Lembrando que a ocultação de erros deve ser feita somente em casos em que o erro seja uma exceção. No PHP 5, há o tratamento de erros com Exceções.

 

Ocultar erros do tipo E_Notice principalmente é pura gambiarra. O que se deve fazer é cercar todas as possibilidades de erros, gerando mensagens personalizadas.

 

Recomendo a leitura deste artigo:

http://forum.imasters.com.br/index.php?showtopic=229485

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.