Ir para conteúdo

POWERED BY:

Arquivado

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

MegaRevolt

tratamento de erro

Recommended Posts

Segue uma classe exemplo abaixo.

 

Setor.class.php

<?php

class Setor {

	private $_id;
	private $_nome;
	private $_descricao;
	
	function Setor() {
	}
	
	public function getId(){
		return $this->_id;		
	}
	public function setNome($nome){
		if(isset($nome) and $nome !=''){
			$this->_nome = $nome;
		}// Como tratar caso não atenda?
	}
	public function getNome(){
		return $this->_nome;
	}
	
	public function setDescricao($descricao){
		$this->_descricao;
	}
	public function getDescricao(){
		return $this->_descricao;
	}

}
?>

a questão é:

Qual a melhor forma para tratar se o nome não atender as regras de negócios?

Posso usar uma variavel uma variavel por get para passar o erro ou existe uma forma melhor para resolver?

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

public function setNome($nome){

if(isset($nome) and $nome !=''){

$this->_nome = $nome;

}// Como tratar caso não atenda?

}

 

Nao precisa verificar se a var $nome esta definida, ja que voce passa ela como parametro da funçao.

 

...
$nome = NULL;
...
public function setNome($nome){
   if( $nome eh valido, tem mais que 1 caractere, bla bla bla)
   {
	  $this->nome = trim($nome);
   }
}
...

$Setor = new Setor;
$Setor->setNome( 'nome' );
if( $Setor->getNome === NULL )
{
   throw new Exception('klajsdklsa', E_USER_ERROR);
   // ou
   trigger_error('dskljfdsk', E_USER_ERROR);
}

Pesquise sobre tratamento de excessoes, com o PHP5 voce pode capturar as exceçoes e trata-las de diversas formas.

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.