IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[POO] Classe et surchage de constructeur


Sujet :

Langage PHP

  1. #1
    Membre éclairé Avatar de LeXo
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 147
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 147
    Points : 868
    Points
    868
    Par défaut [POO] Classe et surchage de constructeur
    BOnjour
    hébergé chez free php version 4.4
    voila j'ai fait une classe mais je souhaite surcharger mon constructeur

    soit j'instancie mon objet avec son id parce qu'il est déja crée

    soit je l'instancie avec des parametres par défaut parce que je vais crée cet objet (dans la Bdd)

    alors il me met un cannot redeclare
    alors j'ai été voir cette page sur l'overloading mais j'ai pas du comprendre

    parce que ça marche pas

    d'avance merci

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 327
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 327
    Points : 15 670
    Points
    15 670
    Par défaut
    tu peux me montrer un petit exemple parce que je ne vois pas ce que tu veux faire

  3. #3
    Membre expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Points : 3 212
    Points
    3 212
    Par défaut
    Tu ne peux pas surcharger un constructeur en PHP4 (ni en PHP5 il me semble). Mais dans ton cas ca revient a avoir un constructeur qui prend un entier en paramètre et un qui n'en prend pas?
    Dans ce cas il suffit que tu mettes une valeur par défaut a ton paramètre (NULL pour faire simple) et dans le constructeur tu regardes si le paramètre est nul ou pas. Et en fonction de ca tu appelles une des deux fonctions d'initialisation que tu auras définie.
    J'espère avoir été clair !

  4. #4
    Membre éclairé Avatar de LeXo
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 147
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 147
    Points : 868
    Points
    868
    Par défaut
    voila ma classe que j'ai faites utiliser les _construct

    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
    class block{
    	var $id;
    	var $nom;
    	var $page;
    	var $vue;
    	var $position;
     
    	/*Constructeur*/
    	function block($id){
    	$sql="SELECT block.id, block.nom, block.page, block.vue, block.position FROM block where block.id=".$id."";
    	$req=mysql_query($sql)or die("Erreur SQL :". $sql ."<br>". mysql_error());
    	//Existe il ?
    	if(mysql_num_rows($req)){
    		while($data=mysql_fetch_array($req)){
    			$this->id=$id;
    			$this->nom=$data['1'];
    			$this->page=$data['2'];
    			$this->vue=$data['3'];
    			$this->position=$data['4'];
    		}
    	}
    	}
    	function block($nom,$page){
    		$this->nom=$nom;
    		$this->page=$page;
    		$this->vue=0;//par défaut
    		$sql="SELECT max(block.position) FROM block";
    		$req=mysql_query($sql)or die("Erreur SQL :". $sql ."<br>". mysql_error());
    		$this->position=19;//derniere
    	}

Discussions similaires

  1. [POO] Classe vs constructeur indéfini
    Par FadeOut dans le forum C++
    Réponses: 3
    Dernier message: 25/11/2008, 03h29
  2. Réponses: 6
    Dernier message: 24/11/2008, 12h20
  3. [POO] Classe php5 et constructeur php4
    Par mathrem dans le forum Langage
    Réponses: 1
    Dernier message: 19/03/2007, 17h10
  4. Réponses: 13
    Dernier message: 02/02/2005, 00h21
  5. [POO] Class Défilementa automatique d'images avec animation
    Par rakoto.n dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 14/01/2005, 18h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo