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 php : Sélectionner tout - Visualiser dans une fenêtre à part
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 php : Sélectionner tout - Visualiser dans une fenêtre à part <?= $this['msg'] ?>
utilisation de la classe ErrorHandling :
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
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 }
Partager