Où et comment définir Constant dans Symfony?
-
05-07-2019 - |
Question
J'ai quelques-unes de mes propres constantes dans symfony, et j'ai besoin de les rendre disponibles dans l'application, où les définir au mieux?
J'ai essayé, dans le répertoire myapps \ config \ config.php
, de définir ma constante de la manière suivante:
sfConfig::set('aaa', 'mya');
Mais quand j'ai essayé d'accéder à la constante dans myapps \ apps \ frontend \ modules \ login \ actions \ actions.class.php
, en utilisant cette commande
sfConfig::get('aaa')
J'obtiens simplement un null, indiquant qu'il n'a pas été défini.
Comment et où définir la constante symfony pour qu'elle soit accessible à l'ensemble du projet?
La solution
Voici comment j'ai résolu le problème:
Ajoutez les éléments suivants dans mon myapp / apps / frontend / config / app.yml
:
all:
.app_set:
bpobackend: me
bpoRedirectScreen: allow
Ensuite, dans le module Action, appelez var_dump pour vérifier la valeur
var_dump(sfConfig::get('app_bpobackend'));
Autres conseils
semble indiquer que vous essayez d'utiliser une configuration de style symfony 1.0 avec symfony 1.1 ou 1.2. tous les fichiers config.php ont été supprimés dans la version 1.1 . voir Présentation des fichiers de configuration pour savoir quoi utiliser au lieu. et veillez toujours à consulter la documentation de la version appropriée ( 1_2 (ou quelle que soit la version que vous utilisez) dans l'URL).
J'ai essayé d'ajouter une constante dans le fichier config.php dans Symfony 1.0 ..
Donc, si vous voulez ajouter des variables constantes dans config.php, alors
sfConfig::add(array('SF_DEFAULT_DATEFORMAT' => 'dd-MM-yyyy'));
C'est le code où j'ai défini le format de date avec le nom 'SF_DEFAULT_DATEFORMAT' ...
Vous pouvez donc essayer avec celui-ci ...