FhX
Messages postés2350Date d'inscriptionmercredi 13 octobre 2004StatutMembreDernière intervention18 avril 20153 24 juil. 2006 à 11:36
"php est un language fait pour etre le plus simplifié"
Simplifié ne veut pas dire enfantin. Ce n'est pas parce que PHP est plus laxiste que d'autres langages qu'il faut forcément tabler dessus.
"tous ses try catch sont bien beau mais se sont des lignes superflues"Du grand n'importe quoi. On voit que tu n'as jamais utilisé ce genre de méthode. Les try{}catch{} combinés avec les exceptions peuvent te fournir bien plus de lisibilité que n'importe quoi. D'ailleurs, les exceptions marchent généralement de pairs avec l'instruction try{}catch{}. Si tu n'est pas convaincu, va voir la doc à ce sujet.
"les objets en php peuvent etre utile, mais ils ne doivent pas remlacer se qui ne l'est pas en empiétant sur la facilité du language"La prog objet en PHP est d'une facilité assez déconcertante... Le mot objet n'enlève en rien la facilité de langage de PHP, c'est juste une autre méthode de coder.
"sinon si vous voulez un préprossesseur objet... utiliser jsp." Bah non, moi j'ai PHP et je trouve ca bien. Si j'ai besoin d'utiliser jsp, ca sera pour autre chose qu'un site web personnel.
bebe47
Messages postés14Date d'inscriptiondimanche 19 février 2006StatutMembreDernière intervention23 juillet 2006 23 juil. 2006 à 22:20
oui mais c'est pas le but de ma fonction
php est un language fait pour etre le plus simplifié (apres 10 min d'utilisation d'un autre language on l'aura remarqué) donc j'ai fait une fonction des plus simples d'utlisation qui permet tout de meme d'avoir une info sur la source de l'erreur pour faciliter le débugage. sinon comme vous l'avez remarqué sans doute elle est classé dans astuce elle n'est rien de plus rien de moin mais peu etre bien utilise parfois
tous ses try catch sont bien beau mais se sont des lignes superflues
les objets en php peuvent etre utile, mais ils ne doivent pas remlacer se qui ne l'est pas en empiétant sur la facilité du language
sinon si vous voulez un préprossesseur objet... utiliser jsp.
FhX
Messages postés2350Date d'inscriptionmercredi 13 octobre 2004StatutMembreDernière intervention18 avril 20153 23 juil. 2006 à 18:01
class mysql {
public function query($query) {
return mysql_query($query) or throw new Exception(mysql_error());
}
}
try {
$sql = new mysql;
$sql->query($x);
} catch ( Exception $e ) {
die ( $e->getMessage() );
}
Tout est dans la classe, j'aurais aussi pu mettre le try{//}catch{//} dans la classe :)
bebe47
Messages postés14Date d'inscriptiondimanche 19 février 2006StatutMembreDernière intervention23 juillet 2006 22 juil. 2006 à 16:38
c'est vrai le code n'est disponible que sous php5
malaham c'est vrai que jeter un exception aurait pus etre plus recommendé plus estétique...
mais beaucoup de personne font leur mysql_query(..); sans s'occuper des erreurs engendrées. alors mieux vaut ne pas faire un code tres long ..
class SQLException extends Exception
{
public function printStackTrace()
{
print this->getMessage();
foreach(this->getTrace() as $trace)
{
foreach($trace as $key=>$value)
print "$key = $value,";
print "
";
}
}
}
function thorwing_query($query)
{
if(!$return = mysql_query($query))
throw new SQLException("Erreur SQL ".mysql_errno()." : ".mysql_error);
return $return;
}
sinon comme les classes prédéfinies n'exploitent pas les exceptions, a moin d'un projet de grande envergure, ill ne vaut pas la peine de l'utiliser
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 22 juil. 2006 à 15:17
hello,
ouais, enfin, à mettre dans une classe avec sa propre gestion des erreurs, et des try catch, parce que là, c'est léger...mais bon. Pourquoi pas, ça montre une utilisation des exceptions, trop rares... :-)
cs_jeca
Messages postés341Date d'inscriptionmercredi 17 juillet 2002StatutMembreDernière intervention14 juillet 201114 22 juil. 2006 à 09:48
24 juil. 2006 à 11:36
Simplifié ne veut pas dire enfantin. Ce n'est pas parce que PHP est plus laxiste que d'autres langages qu'il faut forcément tabler dessus.
"tous ses try catch sont bien beau mais se sont des lignes superflues"Du grand n'importe quoi. On voit que tu n'as jamais utilisé ce genre de méthode. Les try{}catch{} combinés avec les exceptions peuvent te fournir bien plus de lisibilité que n'importe quoi. D'ailleurs, les exceptions marchent généralement de pairs avec l'instruction try{}catch{}. Si tu n'est pas convaincu, va voir la doc à ce sujet.
"les objets en php peuvent etre utile, mais ils ne doivent pas remlacer se qui ne l'est pas en empiétant sur la facilité du language"La prog objet en PHP est d'une facilité assez déconcertante... Le mot objet n'enlève en rien la facilité de langage de PHP, c'est juste une autre méthode de coder.
"sinon si vous voulez un préprossesseur objet... utiliser jsp." Bah non, moi j'ai PHP et je trouve ca bien. Si j'ai besoin d'utiliser jsp, ca sera pour autre chose qu'un site web personnel.
23 juil. 2006 à 22:20
php est un language fait pour etre le plus simplifié (apres 10 min d'utilisation d'un autre language on l'aura remarqué) donc j'ai fait une fonction des plus simples d'utlisation qui permet tout de meme d'avoir une info sur la source de l'erreur pour faciliter le débugage. sinon comme vous l'avez remarqué sans doute elle est classé dans astuce elle n'est rien de plus rien de moin mais peu etre bien utilise parfois
tous ses try catch sont bien beau mais se sont des lignes superflues
les objets en php peuvent etre utile, mais ils ne doivent pas remlacer se qui ne l'est pas en empiétant sur la facilité du language
sinon si vous voulez un préprossesseur objet... utiliser jsp.
23 juil. 2006 à 18:01
public function query($query) {
return mysql_query($query) or throw new Exception(mysql_error());
}
}
try {
$sql = new mysql;
$sql->query($x);
} catch ( Exception $e ) {
die ( $e->getMessage() );
}
Tout est dans la classe, j'aurais aussi pu mettre le try{//}catch{//} dans la classe :)
22 juil. 2006 à 16:38
malaham c'est vrai que jeter un exception aurait pus etre plus recommendé plus estétique...
mais beaucoup de personne font leur mysql_query(..); sans s'occuper des erreurs engendrées. alors mieux vaut ne pas faire un code tres long ..
class SQLException extends Exception
{
public function printStackTrace()
{
print this->getMessage();
foreach(this->getTrace() as $trace)
{
foreach($trace as $key=>$value)
print "$key = $value,";
print "
";
}
}
}
function thorwing_query($query)
{
if(!$return = mysql_query($query))
throw new SQLException("Erreur SQL ".mysql_errno()." : ".mysql_error);
return $return;
}
try
{
thorwing_query($query);
} catch(SQLException $e){
$e->printStackTrace();
}
c'est un peu lourd comme code...
sinon comme les classes prédéfinies n'exploitent pas les exceptions, a moin d'un projet de grande envergure, ill ne vaut pas la peine de l'utiliser
22 juil. 2006 à 15:17
ouais, enfin, à mettre dans une classe avec sa propre gestion des erreurs, et des try catch, parce que là, c'est léger...mais bon. Pourquoi pas, ça montre une utilisation des exceptions, trop rares... :-)
22 juil. 2006 à 09:48
La classe 'exception' n'existe que depuis php 5.