Précédent   Forum des professionnels en informatique > PHP > Langage > Syntaxe
Syntaxe Forum d'entraide sur la syntaxe de PHP et la POO. Avant de poster -> FAQ syntaxe, Cours d'initiation et cours de POO
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 11/01/2011, 23h54   #1
Débutant
 
Inscription : mai 2005
Messages : 1 957
Détails du profil
Informations personnelles :
Localisation : Suisse

Informations forums :
Inscription : mai 2005
Messages : 1 957
Points : 615
Points : 615
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?
__________________
Il ne suffit pas de tout savoir. Vouloir et persévérer, c'est déjà presque tout!
pierrot10 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/01/2011, 00h02   #2
Membre Expert
 
Avatar de Eric2a
 
Homme Eric Garidacci
Inscription : septembre 2005
Messages : 1 057
Détails du profil
Informations personnelles :
Nom : Homme Eric Garidacci
Âge : 41

Informations forums :
Inscription : septembre 2005
Messages : 1 057
Points : 1 564
Points : 1 564
Salut,

À l'aide d'un drapeau...

Code :
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 ?
__________________

N'oubliez pas le vote des messages utiles ainsi que le Tag [Résolu].

Mon Site Web : Corse - Actualité, Météo, Vidéos, Logiciels, ...
Eric2a est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 12/01/2011, 00h55   #3
Débutant
 
Inscription : mai 2005
Messages : 1 957
Détails du profil
Informations personnelles :
Localisation : Suisse

Informations forums :
Inscription : mai 2005
Messages : 1 957
Points : 615
Points : 615
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?
__________________
Il ne suffit pas de tout savoir. Vouloir et persévérer, c'est déjà presque tout!
pierrot10 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/01/2011, 01h05   #4
Membre Expert
 
Avatar de ska_root
 
Homme
Développeur informatique
Inscription : août 2005
Messages : 1 179
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 42
Localisation : France

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

Informations forums :
Inscription : août 2005
Messages : 1 179
Points : 1 580
Points : 1 580
Bonsoir,

regarde la fonction class_exists()

Code :
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() {
 
	}
 
}
 
 
 
}
 
}
__________________
http://cdemarche.developpez.com/

Tu as la réponse à ta question ? N'oublies pas le petit en bas à gauche de ton message...
ska_root est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/01/2011, 01h10   #5
Débutant
 
Inscription : mai 2005
Messages : 1 957
Détails du profil
Informations personnelles :
Localisation : Suisse

Informations forums :
Inscription : mai 2005
Messages : 1 957
Points : 615
Points : 615
ok je vais voir.
Voilà le message d'erreur que je recois
Citation:
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
__________________
Il ne suffit pas de tout savoir. Vouloir et persévérer, c'est déjà presque tout!
pierrot10 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/01/2011, 10h22   #6
Expert Confirmé
 
Avatar de rawsrc
 
Homme Martin
Dev indep
Inscription : mars 2004
Messages : 1 461
Détails du profil
Informations personnelles :
Nom : Homme Martin
Âge : 35
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Dev indep

Informations forums :
Inscription : mars 2004
Messages : 1 461
Points : 2 548
Points : 2 548
Envoyer un message via Skype™ à rawsrc
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.
rawsrc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/01/2011, 13h03   #7
Membre régulier
 
Inscription : juillet 2008
Messages : 35
Détails du profil
Informations forums :
Inscription : juillet 2008
Messages : 35
Points : 76
Points : 76
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.
jonoz est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h51.


 
 
 
 
Partenaires

Hébergement Web