Contante dans les classes php définit en interne ou non

Signaler
Messages postés
14
Date d'inscription
vendredi 25 septembre 2009
Statut
Membre
Dernière intervention
10 décembre 2009
-
Messages postés
14
Date d'inscription
vendredi 25 septembre 2009
Statut
Membre
Dernière intervention
10 décembre 2009
-
Bonjours à tous,
J'ai une petite question pour les pro de la POO en php

j'ai une constante

define('DEBUG',true);

j'aimerais savoir s'il est préférable de faire

class a
{
public function __construct(){}
public function machin()
{

if(DEBUG)
{
//ici quelque chose
}
}
}

ou bien

class a
{
private
$_debug;
public function __construct($debug=false)
{
$this->_debug=$debug;
}
public function machin()
{

if($this->_debug)
{
//ici quelque chose
}
}

}
Et pourquoi l'un ou l'autre?!
Merci d'avance de vos réponses

3 réponses

Messages postés
14
Date d'inscription
vendredi 25 septembre 2009
Statut
Membre
Dernière intervention
10 décembre 2009

Personne n'a d'idée?!
Cette question me bloque car je ne sais pas qu'elle est la "bonne" méthode à adopter.
J'voulais avoir l'avis de quelqu'un qui connait bien la POO
Messages postés
345
Date d'inscription
mardi 1 juin 2004
Statut
Membre
Dernière intervention
17 octobre 2014
3
Salut,
je crois qu'il n'y a pas de réponse : tout dépend de ce que tu veux faire.
1- define, tu peux même faire en sorte qu'il soit global et ainsi tu as un mode debug que toi tu as décidé et dans tous le programme
2- dans la classe, c'est ta logique d'exécution qui va décider du mode Debug.
tu peux aussi combiner les 2 méthodes, des classes en debug si on leur demande, et d'autre en debug (avec le define) selon ton humeur (et tes plantages ...)
A toi de choisir.

thip
Messages postés
14
Date d'inscription
vendredi 25 septembre 2009
Statut
Membre
Dernière intervention
10 décembre 2009

Re bonjour et merci de ta réponse.
c'est une constante globale de débug commune à tout le site. Finalement j'ai optée pour la 1ere solution car ainsi ma constante reste constante au long du site. En passant par private elle était "potentiellement" modifiable donc moins sécurisée.