CLASSE FRANCOPHONE D'EXPLOITATION MYSQL

Signaler
Messages postés
10843
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
-
Gwinyam
Messages postés
47
Date d'inscription
vendredi 7 octobre 2005
Statut
Membre
Dernière intervention
2 janvier 2008
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/45175-classe-francophone-d-exploitation-mysql

Gwinyam
Messages postés
47
Date d'inscription
vendredi 7 octobre 2005
Statut
Membre
Dernière intervention
2 janvier 2008

L'astuce est que j'ai corrigé mon code depuis en suivant ces critiques. Certes, je ne les ai pas encore toutes suivies et donc corrigé tout mon code. Mais c'est surtout qu'à l'origine, les informations de connexion étaient stockées directement dans ma classe et que ni le constructeur, ni d'autres fonctions ne permettaient de les modifier. Ce qui est parfaitement idiot.

Donc là je prends la défense de malalam.

Merci de l'encouragement quand même^^
acidtoxik
Messages postés
28
Date d'inscription
dimanche 12 mai 2002
Statut
Membre
Dernière intervention
2 janvier 2008

MALALAM, avant de poster des critiques qui descendent le travail fait par les internautes qui font vivre le site que tu administres, tu devrais plutôt réviser la POO.

Je ne suis pas un expert mais je sais au moins faire la différence entre une classe et une instance de classe (un objet pour info :p) cf ton premier post :2 classes...

Bon code dans l'ensemble, bonne idée de base consistant a faire une API franco. C nice :)
Gwinyam
Messages postés
47
Date d'inscription
vendredi 7 octobre 2005
Statut
Membre
Dernière intervention
2 janvier 2008

Ah ouais, pas idiot. Bon, donc c'est reparti pour un tour^^
malalam
Messages postés
10843
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
18
Hello,

tu as 2 façons de procéder.
1 - Tu lances des exceptions qui doivent arrêter l'exécution de ta classe, dans ce cas tu ne fais que les lancer dans ta classe et tu les interceptes en dehors.
2 - tu veux pouvoir gérer tes exceptions dans ta classe (par exemple, j'essaye une requête...mais si je ne suis pas connecté, je veux pouvoir intercepter l'excption et me connecter pour pouvoir conbtinuer), dans ce cas, tu gères tes try catch dans ta classe. Ce n'est pas le cas le plus fréquent, mais ça peut arriver.

1 exemple illustrant les 2 exemples :

<?php
class a {
public function myFunc() {
if(false === isset($b)) {
throw new Exception('Erreur $b n\'est pas initialisé');
}
echo $b;
}
}

try {
$a = new a;
$a->myFunc();
} catch(Exception $e) {
echo $e;
}

class c {
public function myFunc() {
try {
if(false === isset($b)) {
throw new Exception('Erreur $b n\'est pas initialisé');
}
} catch(Exception $e) {
$b = 1;
}
echo $b;
}
}

$c = new c;
$c->myFunc();
?>
Gwinyam
Messages postés
47
Date d'inscription
vendredi 7 octobre 2005
Statut
Membre
Dernière intervention
2 janvier 2008

Donc en gros, mes try-catch ne servent à rien? Ils doivent être mis dans le code utilisant ma classe là où je ferai appel à mes fonctions?