Bonjour,
Ce n'est pas un problème de syntaxe ponctuel que je soumets mais + un souci de construction de mon module PHP qui est ponctué de TRY THROW CATCH... et à la limite, cela rend la lisibilité du code difficile...
Voici un extrait:
Code qui contient 3 X le trio (try, throw , catch).
Code : 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
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44 try { // Verifier que le requête n'est pas vide ! // ---------------------------------------- if( is_string($this->query) ) try { if( $this->result = mysql_query($this->query,$this->idConn[$this->id]) ) { // On teste le type de requête 'select','show','explain','describe') preg_match( '`SELECT|SHOW|DESCRIBE|EXPLAIN`i' , $this->query , $match ); try { switch( $match[0] ) { case 'SELECT' : $i = 0; // On construit notre $resArray while( $row = mysql_fetch_assoc($this->result) ) { $resArray[$i++] = $row; } //end while // On libere la ressource $this->mysqlFreeResult($this->result) ; return($resArray) ; break; case 'SHOW' : case 'EXPLAIN' : case 'DESCRIBE' : // on informe juste que c'est bien passer return true; default : // On lance une exception throw new Exception("SQL didn't find correct keyord to match MYsql, please check it !") ; }//end switch } catch(Exception $E) { $this->display_exception($E) ; } } else { } } catchh(Exception $E) { $this->display_exception($E) ; } else throw new Exception("SQL request string is empty and/or not valid, please check it !") ; } catch(Exception $E) { $this->display_exception($E) ; }
Alors je me pose la question suivante, une construction du style suivant est'elle possible et accepté par PHP autrement si vous en avez une autre...
Construction dans laquelle je mets tout mon code entre une seul TRY - CATCH avec X THROW....
Code : 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
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37 try { // Verifier que le requête n'est pas vide ! // ---------------------------------------- if( is_string($this->query) ) { if( $this->result = mysql_query($this->query,$this->idConn[$this->id]) ) { // On teste le type de requête ('select','show','explain','describe') preg_match( '`SELECT|SHOW|DESCRIBE|EXPLAIN`i' , $this->query , $match ); { switch( $match[0] ) { case 'SELECT' : $i = 0; // On construit notre $resArray while( $row = mysql_fetch_assoc($this->result) ) { $resArray[$i++] = $row; } //end while // On libere la ressource $this->mysqlFreeResult($this->result) ; return($resArray) ; break; case 'SHOW' : case 'EXPLAIN' : case 'DESCRIBE' : // on informe juste que c'est bien passer return true; default : // On lance une exception throw new Exception("SQL didn't find correct keyord to match MYsql, please check it !") ; }//end switch } else { } } else throw new Exception("SQL request string is empty and/or not valid, please check it !") ; } catch(Exception $E) { $this->display_exception($E) ; }
Qu'est ce cela donne au point de vue performance ?
Merci de votre feed-back![]()
Partager