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] un truc me chagrine (portée des variables ?)


Sujet :

Langage PHP

  1. #1
    Membre habitué
    Inscrit en
    Février 2005
    Messages
    192
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 192
    Points : 198
    Points
    198
    Par défaut [POO] un truc me chagrine (portée des variables ?)
    Salut à tous,

    D'abord, désolé pourle titre je savais vraiment pas comment exprimer ça...

    Soit le code suivant :
    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
     
    class bloc
    {
    	const TABLE_BLOC = 'blocs';
    	const TABLE_TYPE = 'types_blocs';
     
    	const DB_ID = 'id_bloc';
    	const DB_NAME = 'nom_bloc';
    	const DB_STYLE = 'style_deco';
    	const DB_MAPPING_STYLE = 'style_map';
    	const DB_ACCESS_LEVEL = 'access_level';
    	const DB_ID_BLOC_TYPE = 'id_type_bloc';
    	const DB_BLOC_TYPE = 'type_bloc';
     
    	var $db;
    	.....
     
    	function __construct ($db, $id_bloc)
    	{
    	// récupération des infos dans la db :
    		$table = bloc::TABLE_BLOC.', '.bloc::TABLE_TYPE;
    		$clause = bloc::DB_ID.'='.$id_bloc.' AND '.bloc::TABLE_BLOC.'.'.bloc::DB_ID_BLOC_TYPE.'='.bloc::TABLE_TYPE.'.'.bloc::DB_ID_BLOC_TYPE;
    		$bloc = $db->getItemDetails($table, $clause);
    Il n'existerait pas un moyen d'éviter d'avoir à mettre bloc:: devant chaque appel d'une constante ?

    Mettons que je décide dans 6 mois de changer le nom de la classe, il va me falloir aussi changer tous les appels de constante, alors que je suis dans la classe elle-même, et il me semblerai plus logique que PHP recherche d'abord dans cette classe une constante avec ce nom, qu'il me génère une erreur s'il ne la trouve pas, mais pas que je sois obliger de spécifier de quelle classe je parle...

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    882
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 882
    Points : 691
    Points
    691
    Par défaut
    salut
    utilise self::, pour plus de précision regarde du coté des opératuer de contexte

  3. #3
    Membre habitué
    Inscrit en
    Février 2005
    Messages
    192
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 192
    Points : 198
    Points
    198
    Par défaut
    merci bien :-)

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

Discussions similaires

  1. [POO] Portée des variables
    Par jpean.net dans le forum Langage
    Réponses: 4
    Dernier message: 02/04/2007, 20h52
  2. [POO] Portées des variables //
    Par hisy dans le forum Langage
    Réponses: 5
    Dernier message: 01/02/2007, 13h55
  3. [POO] Portée des variables de classe
    Par guidav dans le forum Langage
    Réponses: 3
    Dernier message: 31/01/2007, 19h27
  4. [XSL]Problème de portée des variables
    Par djulesp dans le forum XSL/XSLT/XPATH
    Réponses: 6
    Dernier message: 17/09/2004, 10h34
  5. [Portée] portée des variables
    Par parksto dans le forum Langage
    Réponses: 7
    Dernier message: 09/05/2004, 21h05

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