Concaténation de constantes de class

Petit nouveau ! | 6 Messages

18 nov. 2010, 12:50

Bonjour,

je voudrais concaténer une chaine et une constante lors de la déclaration d'une autre constante. En procédurale ça donnerai:
define('_A_', 'hello');
define('_B_', _A_ . ' world');
mais en objet ?
le code ci-dessous ne fonctionne pas.
class Foo {
  const _A_ = 'hello';
  const _B_ = Foo::_A_ . ' world';
}

Petit nouveau ! | 6 Messages

19 nov. 2010, 14:56

Personne ?

peut être que je m'y prend mal ? Est ce une hérésie de vouloir faire cela comme ça ?

ViPHP
ViPHP | 5462 Messages

19 nov. 2010, 15:06

en effet ca ne fonctionne pas, c'est pour quel besoin ?

Petit nouveau ! | 6 Messages

19 nov. 2010, 15:16

En gros c'est pour avoir une classe config de tout mon site web.

je vais avoir par exemple
class Config {
  const CHEMIN_DE_BASE = '/var/www';

  const CHEMIN_IMG = Config::CHEMIN_DE_BASE . '/img';
  const CHEMIN_CSS = Config::CHEMIN_DE_BASE . '/css';
}
merci d'essayer de m'aider en tous cas :)

ViPHP
ViPHP | 5462 Messages

19 nov. 2010, 15:21

ca sera plutot
class Config {
  const CHEMIN_DE_BASE = '/var/www';

  const CHEMIN_IMG = '/img';
  const CHEMIN_CSS =  '/css';
}
et c'ets pares qu'il faudra faire :
Config::CHEMIN_DE_BASE . Config::CHEMIN_IMG

Petit nouveau ! | 6 Messages

19 nov. 2010, 15:24

J'y avais pensé mais c'est un peu lourd dingue de devoir répéter partout le chemin de base.

Donc il n'y a pas moyen de faire une concaténation de constantes dans une classe ?

ViPHP
ViPHP | 5462 Messages

19 nov. 2010, 15:27

J'y avais pensé mais c'est un peu lourd dingue de devoir répéter partout le chemin de base.

Donc il n'y a pas moyen de faire une concaténation de constantes dans une classe ?
non pas possible, mais normalement un fichier de config du style n'as pas lieu a être dans un classe mais plutôt dans un fichier de config, la si on veux changer la config on dois changer la classe

Petit nouveau ! | 6 Messages

19 nov. 2010, 15:34

Je vais faire ça alors. Merci pour ton aide.