Também tenho essa dúvida.
Não sei qual seria a melhor maneira, eu penso em algo assim:
*Arquivo
classes/exception/login.php*
class Exception_Login extends Kohana_Exception
{
const USUARIO_DESATIVADO = 100001;
const USUARIO_NAOCONFIRMADO = 100002;
/**
*
* @param type $debug_message mensagem pro desenvolvedor, nao em
production
* @param type $code codigo tipo Exception_Login::USUARIO_DESATIVADO
* @param array $variables tipo array(':usuario'=>'[email protected]')
*/
public function __construct($debug_message = null, $code = 0, array
$variables = null )
{
$message_file = strtolower(substr(__CLASS__, 0,
strpos(__CLASS__,'_'))
. DIRECTORY_SEPARATOR
. substr(__CLASS__, strpos(__CLASS__,'_')));
// retorna exception/login
$message_index = $code;
$message = Kohana::message($message_file, "{$message_index}");
parent::__construct($message, $variables, $code);
}
}
*Arquivo
messages/exception/login.php*
<?php defined('SYSPATH') or die('No direct script access.');
return array(
Exception_Login::USUARIO_DESATIVADO => 'O usuário :usuario está
desativado',
Exception_Login::USUARIO_NAOCONFIRMADO => 'O usuário :usuario não foi
confirmado',
);
E daí, na hora do erro, seria
throw new Exception_Login("Erro ao logar no form1 etc etc",
Exception_Login::USUARIO_DESATIVADO, array(':usuario'=>$usuario_email);
etc.
O Kohana_Exception se responsabiliza por traduzir caso tenha a tradução da
mensagem no diretório de i18n.
Mas eu só pensei isso, ainda não pus em uso.
O que acham?
Abraços,
--
Você está recebendo esta mensagem porque se inscreveu no grupo "Kohana Php" dos
Grupos do Google.
Para ver esta discussão na web, acesse
https://groups.google.com/d/msg/kohana-php/-/h-z3a9FvmJ4J.
Para postar neste grupo, envie um e-mail para [email protected].
Para cancelar a inscrição nesse grupo, envie um e-mail para
[email protected].
Para obter mais opções, visite esse grupo em
http://groups.google.com/group/kohana-php?hl=pt-BR.