error handling et best practices
Bonjour,
je considère ce sujet comme important, vu qu'il impacte la conception. Ayant une incertitude, je lance cette discussion. Évidemment, j'ai déjà cherché sur le web qu'est-ce qu'on dit. Mais, tout ce que j'ai trouvé est écrit en anglais, et même si je me débrouille, je ne suis pas un virtuose.
Voici une façon de faire, et j'aimerais avoir votre avis.
J'ai créé la classe ErrorHandling. ErrorHandling.php :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| class ErrorHandling
{
public string $msg;
public function __construct($msg)
{
$this->msg=$msg;
}
public function disp_msg()
{
$page = new PhpEcho([DIR_ROOT, 'view Layout.php']); //PhpEcho est une classe "moteur de rendu"
$page->addChildFromCurrent('body', 'block endSession.php',['msg'=>$this->msg]);//en gros,endSession.php va
// récupérer $this->msg
echo $page;
}
} |
endSession.php :
Code:
<?= $this['msg'] ?>
utilisation de la classe ErrorHandling :
Code:
1 2 3 4 5 6 7 8 9 10 11
| $hash = hash_file('md5', $filepath);
$pps = new PDOPlusPlus(PDOPlusPlus::MODE_SQL_DIRECT);
sql = 'SELECT count(*) AS count from `fichier_uploade` where hash="' . $hash . '"';
$ret = $pps->select($sql); /*pour vous rassurer, avec PDOPlusPlus, $hash va être échappé lors de l'exécution de la requête */
if ( $ret[0]['count'] > 0 )
{
$exit_hash=new ErrorHandling('Impossible to import the file because already in database');
$exit_hash->disp_msg();exit; // ne pas exécuter la suite du script
} |