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.

Responder a