Actuellement, je n'ai pas un très bon système de gestion des messages d'erreur ou de réussite, ils sont en gros écrits en ligne avec le code. Quelqu'un peut-il suggérer une meilleure pratique ou quelque chose que vous faites pour être en mesure de gérer correctement une grande liste de messages d'erreur et de succès à travers une application. Pensez à l'internationalisation ... certaines applications auront des fichiers de langue, alors l'application tire juste les chaînes du fichier spécifique ... Je pense à mettre en œuvre un concept similaire pour les messages d'erreur et de succès et je suis curieux de savoir ce que les autres ont fait dans le même sens?Quelle est une bonne façon de gérer les messages d'erreur et de succès et les codes?
Répondre
Voici une fonction que j'utilise:
function checkErrors($type, $msg, $file, $line, $context) {
echo "<h1>Error!</h1>";
echo "An error occurred while executing this script. Please contact the <a href=mailto:[email protected]>webmaster</a> to report this error.";
echo "<p />";
echo "Here is the information provided by the script:";
echo "<hr><pre>";
echo "Error code: $type<br />";
echo "Error message: $msg<br />";
echo "Script name and line number of error: $file:$line<br />";
$variable_state = array_pop($context);
echo "Variable state when error occurred: ";
print_r($variable_state);
echo "</pre><hr>";
}
set_error_handler('checkErrors');
il vous donnera toutes les erreurs et les avertissements que votre code PHP produit, ainsi que créer une page d'erreur pour vous dans le cas où quelqu'un visite une page qui contient une erreur.
Espérons que cela aide!
y mais les messages réels sont toujours répartis sur l'ensemble de votre application, je cherche un moyen de gérer les messages réels utilisés dans une application – farinspace
Depuis que j'utilise un système de style unique point d'accès qui Bootstraps l'application et inclut le fichier correct (il est essentiellement un système de commande) Je peux utiliser:
<?php
try {
require 'bootstrap.php';
// dispatch controller
require "controllers/$controller.php";
} catch (Exception $e) {
// echo info
} catch (LibraryException $le) {
// library specific exception
}
Alors quand je veux jeter une erreur Je viens:
throw new Exception('An error occurred.');
quelqu'un peut-il suggérer une meilleure pratique ou quelque chose que vous faites pour être en mesure de gérer correctement une grande liste des messages d'erreur et le succès par une demande.
C'est ainsi que je gère les erreurs en masse, mais pas comment gérer une liste. Je pourrais trouver grep
pour les messages d'erreur que je trouve, ce n'est pas vraiment très organisé.
Une meilleure pratique aurait LibraryException étendre Exception, puis mettre le bloc catch LE avant la capture Exception bloc. –
Vous pouvez utiliser quelque chose comme PHP Documentor et inclure des erreurs et des messages dans les documents pour chaque classe.
je sais que c'est un ancien poste, mais vous ne trouvez jamais la solution que vous recherchiez? – ServAce85