Come correttamente eseguire il risultato dell'operazione di passaggio su Visualizza

0

Sto sviluppando un sito Web sul motore MVC creato da noi stessi. Ho actionController che gestisce operazioni come register , login , post submit ed ecc actionController riceve il nome dell'operazione e i parametri. Ovviamente gestisce errori come utente con lo stesso nick già esistente o la password è breve su quale gestore di azioni deve notificare all'utente. La domanda è quale sia il modo migliore per organizzare gli errori, in modo che View possa facilmente ottenere un messaggio di notifica localizzato.

Vedo due modi

Primo: definire costanti di errore come

ERR_NICK_BUSY = '1'
ERR_NICK_INVALID = '2'
...

e mappa di localizzazione

local[ERR_NICK_BUSY] = 'User with the same nick already registered'
local[ERR_NICK_INVALID ] = 'Nick, you entered is invalid'
...

E il secondo: definire costanti astratte come

ERR_FIELD_BUSY = '1'
ERR_FIELD_INVALID = '2'
...

e passali con il nome del campo. In questo caso la localizzazione appare come

local['nick_'+ERR_FIELD_BUSY] = 'User with the same nick already registered'
...

Non mi piacciono entrambi questi metodi. Puoi consigliare qualcos'altro?

    
posta atomAltera 30.11.2012 - 15:01
fonte

1 risposta

1

Che ne dici di estendere la classe Exception e lanciare le tue eccezioni.

Potresti avere un file yml con il codice di errore, digitare, messaggio predefinito.

try {

/* some code */

} catch(MyException $e) {

    echo $e->getError(2)['message'];    

}

class MyException extends Exception{


function getError($code){

/* the parsed errors from the yml file */

    return $this->error[$code];

}

}

The yml file should be something like this

600:
    type: 'Internal Error'
    message: 'An internal error occurred'
    code: 600

Memorizza l'yml analizzato se diventa grande

    
risposta data 30.11.2012 - 17:21
fonte

Leggi altre domande sui tag