Salut à tous,
D'abord, désolé pourle titre je savais vraiment pas comment exprimer ça...
Soit le code suivant :
Il n'existerait pas un moyen d'éviter d'avoir à mettre bloc:: devant chaque appel d'une constante ?
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);
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...
Partager