MadM@tt
Messages postés2167Date d'inscriptionmardi 11 novembre 2003StatutMembreDernière intervention16 juillet 2009
-
4 juin 2008 à 10:24
MadM@tt
Messages postés2167Date d'inscriptionmardi 11 novembre 2003StatutMembreDernière intervention16 juillet 2009
-
4 juin 2008 à 11:27
Bonjour à tous,
J'ai une classe :
class Compte {
...
// Constructeur
function Compte( $ID ) {
// Connexion à la BD et récupération des infos
// Si echec, que faire ??
return null;
}
}
Voilà le problème c'est que si on arrive pas à retrouver les données, j'aimerais que celui qui a créé la classe puisse le savoir.
Je voulais donc faire un return null, pour que l'appelant ne reçoivent rien en faisant new Compte($Id).
Mais ça renvoie quand meme l'objet.
zpef
Messages postés30Date d'inscriptionvendredi 1 février 2008StatutMembreDernière intervention26 janvier 2011 4 juin 2008 à 11:25
Bonjour,
En objet, tu ne peux pas demander d'instancier un objet et lui dire dans le contructeur de se détruire si une erreur se produit.
Faire : $mon_compte = new Compte($id); te renverra toujours une instance de la classe "Compte".
En PHP5, tu peux éventuellement lancer une exception : throw new Exception('Ton message d\'erreur');
que tu traitera dans un bloc try - catch
En PHP4 (comme en 5), tu pourrais te créer une variable membre "$loaded" initialisée à false et que tu mettras à true quand ton objet
sera chargé. Reste à créer une méthode "isLoaded()" qui retourne simplement la valeur de cette variable afin de savoir si tout c'est bien passé.