Code Coverage
 
Classes and Traits
Functions and Methods
Lines
Total
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
CRAP
100.00% covered (success)
100.00%
19 / 19
ManagerError
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
19
100.00% covered (success)
100.00%
19 / 19
 explicit
100.00% covered (success)
100.00%
1 / 1
19
100.00% covered (success)
100.00%
19 / 19
<?php
    namespace manager;
    class ManagerError{
        /* SUCCESS */
            const Success             = 0;
        /* Parsage json */
            const ParsingFailed       = 1;
        /* ResourceDispatcher */
            // Drapeaux invalides
            const InvalidFlags        = 2;
            // Fichier inexistant
            const UnreachableResource = 3;
        /* ModuleRequest */
            // Le @path n'est pas renseigne
            const MissingPath         = 4;
            // Verification de la coherence du chemin (existe dans la conf)
            const WrongPathModule     = 5;
            // Module non specifie dans la conf
            const UnknownModule       = 6;
            // Methode non specifie pour ce Module dans la conf
            const UnknownMethod       = 7;
            // Methode inamorcable
            const UncallableMethod    = 8;
            // Erreur de parametre(s)
            const ParamError          = 9;
            // Erreur dans le traitement
            const ModuleError         = 10;
        /* Repo */
            // Verification de la coherence du chemin (existe dans la conf)
            const WrongPathRepo       = 11;
            // Module non specifie dans la conf
            const UnknownRepo         = 12;
            // Erreur dans le traitement
            const RepoError           = 13;
        /* Database */
            // Erreur lors de la creation d'un objet PDO (connection)
            const PDOConnection       = 14;
        /* API token */
            // Token inexistant ou faux
            const TokenError          = 15;
            const PermissionError     = 16;
        /* Erreur d'UPLOAD */
            const UploadError         = 17;
        /* EXPLICITE UN CODE D'ERREUR
        *
        * @error<Integer>                                     Code d'erreur
        *
        * @return explicit<String>                             Description explicite du code d'erreur
        *
        */
        public static function explicit($error){
            switch($error){
                case self::Success:             return "Tout s'est bien deroulé.";                                             break;
                case self::ParsingFailed:       return "La lecture du fichier JSON ou XML a echouée.";                         break;
                case self::InvalidFlags:        return "Les spécifications (drapeaux) sont incorrects.";                       break;
                case self::UnreachableResource: return "La ressource n'existe pas (404).";                                     break;
                case self::MissingPath:         return "Le chemin de délégation n'a pas été renseigné.";                       break;
                case self::WrongPathModule:     return "Le chemin de délégation est incorrect ('nomModule/nomMethode').";      break;
                case self::WrongPathRepo:       return "Le chemin de délégation est incorrect ('nomRepo/nomMethode').";        break;
                case self::UnknownModule:       return "Le module n'existe pas.";                                              break;
                case self::UnknownRepo:         return "Le repo n'existe pas.";                                                break;
                case self::UnknownMethod:       return "Le methode n'existe pas.";                                             break;
                case self::UncallableMethod:    return "Le methode n'est pas amorçable.";                                      break;
                case self::ParamError:          return "Un ou plusieurs paramètres sont manquants ou incorrects.";             break;
                case self::ModuleError:         return "Erreur lors du traitement du module.";                                 break;
                case self::RepoError:           return "Erreur lors du traitement du repo.";                                   break;
                case self::PDOConnection:       return "La connexion avec la base de données a echouée.";                      break;
                case self::TokenError:          return "Le token de connection est absent, érroné ou expiré.";                 break;
                case self::PermissionError:     return "Vous n'avez pas la permission d'effectuer cette action.";              break;
                case self::UploadError:         return "Une erreur d'upload est survenue.";                                   break;
                // default:                        return "Erreur inconnue...";                                                  break;
            }
            // Erreur inconnue
            return null;
        }
    }
?>