begin process at 2010 03 22 04:26:29
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

POO

 > 

Classes & Objets

 > 

Détruire un objet dans son constructeur


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Détruire un objet dans son constructeur

mercredi 4 juin 2008 à 10:24:48 | Détruire un objet dans son constructeur

MadM@tt

Membre Club
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.

J'ai essayé unset($this) mais marche pas...

Avez vous une solution ?
Merci


- MadMatt -

 www.choisir-une-entreprise.com

mercredi 4 juin 2008 à 11:25:01 | Re : Détruire un objet dans son constructeur

zpef

Réponse acceptée !
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é.

mercredi 4 juin 2008 à 11:27:18 | Re : Détruire un objet dans son constructeur

MadM@tt

Membre Club
Ok pour la méthode isLoaded(), pour l'instant je vérifiais si l'ID était > 0 (mais c'est plus propre avec ta méthode).

Merci !

- MadMatt -

 www.choisir-une-entreprise.com



Cette discussion est classée dans : objet, classe, compte, constructeur, détruire


Répondre à ce message

Sujets en rapport avec ce message

utiliser un objet d'une classe php dans une page html [ par articmen ] je doit utiliser mon objet de ma classe mais je n'arrive a rien ma page html affiche le code du bodyalors si il ya qqu'un qui peut m'aider merci d'ava probleme de classe en php [ par Elkaire ] Donc voila mon probleme!!dans une premiere page je rensegne les insances de mon objet. Une fois renseigné je peux réutiliser les instances cet objet d PHP classe constructeur [ par missceline33 ] Bonjour à tous, j'ai un problème avec mes classes PHP. Je voudrais définir plusieurs constructeurs à ma classe mais quand je rajoute un constructeur i Utilisation d'une méthode avec pour parametre un objet [ par aguiran ] Salut, Mon pb ressemble un peu à celui posé par Mandark le 11/02, mais je ne souhaite pour ma part, pas ré-instancier un objet dans dans une autre cl Quand on parle de Classe [ par Tomcube ] C'est une question très vaste,On parle de plus en plus de programmation objet. Qui dit programmation objet dit classe. D'ailleurs, c'est fou le nombre objet sqlite [ par jackrichard ] bonjour a tousdésolé si la question est con mais bon la je pige pas sur un livre de php on me dit que php5 propose la classe sqlite_db mais kan j'essa Instanciation d'une classe [ par aquouel ] Bonjour tout le monde,j'ai une question à propos de l'instanciation de classe. Immaginons que j'ai une classe "User" qui possède des propriètés propre Refonte de mon site en objet AIDE conception [ par vega11 ] Bonjour à tous, je suis actuellement en BTS informatique 2ème année et je m'amuse à créer pour une de mes activités un site de rencontre.Je suis très Recupere l'objet parent d'une classe fille [ par knabis2000 ] Bonjour a tous,J'aurait une question :Est il possible de recuperer l'instance de l'objet mere d'une classe fille ?Petite explication : Imaginons 2 cla Probleme POO [ par cedriclomb ] Bonjour,Aujourd'hui au programme casse tete chinois ! :DVoila j'ai une classe B qui est une extends de Aun objet $b=new B;et ensuite $b->loadModule('C


Nos sponsors


Sondage...

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,624 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales