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]Comment forcer 2x la déclaration d'une class


Sujet :

Langage PHP

  1. #1
    Débutant  
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 098
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 098
    Points : 946
    Points
    946
    Par défaut [POO]Comment forcer 2x la déclaration d'une class
    Bonjour,

    J'ai une boucle (foreach) qui tourne x fois.
    Le problème c'est que cette boucle declare une class et quand il passe pour la deuxième fois je recois un message d'erreur m'indiquand qu'il ne peut pas redéclarer la class.

    Y a il y un moyen pour qu'on puisse déclarer la class comme la premiere fois?

  2. #2
    Membre émérite
    Avatar de Eric2a
    Homme Profil pro
    Technicien
    Inscrit en
    Septembre 2005
    Messages
    1 225
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Technicien

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 225
    Points : 2 411
    Points
    2 411
    Par défaut
    Salut,

    À l'aide d'un drapeau...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $ok=false;
     
    foreach( ... ){
     
    	if(!$ok){
    		// Déclarer classe 
    		$ok=true;
    	}
     
    }
    Edit : On peux s'assurer qu'elle n'est déclarée qu'une fois. C'est mieux non ?

  3. #3
    Débutant  
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 098
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 098
    Points : 946
    Points
    946
    Par défaut
    Salut,
    Merci pour ta réponse mais dans mon cas ca ne marche pas.
    Il n'y pas la possibilité qu'une classe soit déclarée plusieur fois?
    Ou que la premiere déclaration est remplacée par la suivante?

  4. #4
    Membre chevronné
    Avatar de ska_root
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    1 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Août 2005
    Messages : 1 203
    Points : 1 839
    Points
    1 839
    Par défaut
    Bonsoir,

    regarde la fonction class_exists()

    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
     
    for ($i=0; $i<3; $i++) {
     
    if(!class_exists('maClasse')) 
    {
     
     
     
    class maClasse {
     
    	public function __construct() {
     
    	}
     
    }
     
     
     
    }
     
    }

  5. #5
    Débutant  
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 098
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 098
    Points : 946
    Points
    946
    Par défaut
    ok je vais voir.
    Voilà le message d'erreur que je recois
    Fatal error: Cannot redeclare class pdf in /var/www/vhosts/que-faire-ce-week-end.ch/httpdocs/sports/include/fpdf16/mod6.php on line 137

  6. #6
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Bonjour,

    Redéclaration multiple de classe !!! Kesako ?
    Je te dirais plutôt de regarder du côte de l'autoloading.
    Déclarée et chargée une fois pour toute au moment opportun et en plus c'est le moteur du PHP qui se charge de cela.

  7. #7
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations forums :
    Inscription : Juillet 2008
    Messages : 36
    Points : 99
    Points
    99
    Par défaut
    La redéclaration est vraiment à prohiber.

    Dans ce cas précis, une idée de la finalité permettrait de pouvoir répondre plus précisément. Celle que je devine correspondrait en gros à un pattern strategy.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 12
    Dernier message: 25/07/2009, 16h59
  2. Réponses: 0
    Dernier message: 26/06/2009, 09h23
  3. Réponses: 6
    Dernier message: 18/11/2007, 17h30
  4. comment forcer le format date dans une requête
    Par chauvex99 dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 11/07/2007, 09h49
  5. comment se fait la déclaration d'une class?
    Par dardoura2 dans le forum C++
    Réponses: 2
    Dernier message: 10/12/2006, 16h47

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