J'aimerais créer une variable globale dans CakePHP. Si je définis quelque chose dans app_controller.php comme
var $varName
Je peux accéder
$this->varName
de l'un de mes contrôleurs, mais je ne peux pas y accéder à partir de modèles.
Comment créer une variable globale accessible à partir des modèles?
La valeur de $ varName n'est pas connue avant l'exécution, je ne pense donc pas que bootstrap.php est une option.
La nouvelle classe Configure de CakePHP peut être Utilisée pour stocker et récupérer des valeurs d’application Ou d’exécution spécifiques. Soyez prudent. Cette classe vous permet de Stocker tout ce qu’il contient, puis de l’utiliser dans N’importe quelle autre partie de votre code.
Pour enregistrer des variables globales, utilisez la classe Configure. Par exemple:
Configure :: write ('Company.name', 'Pizza, Inc.');
Pour lire la variable ultérieurement à n’importe quel endroit de votre code, utilisez:
Configure :: read ('Company.name'); // donne: 'Pizza, Inc.'
Le fichier recommandé pour stocker les constantes globales se trouve dans app/config/bootstrap.php
Pour plus d'informations, voir:
Configure class - Configure la classe CakePhp . Ou Section 3.4.7 sur l’amorçage
vous pouvez déclarer une variable globale dans app/config/core.php
Configure::write('variable Name','Variable Value');
vous pouvez imprimer comme ça:
Configure::read('Variable Name');
Les fonctions globales et les variables pour votre application peuvent être définies dans le fichier app/config/bootstrap.php
pour plus d'informations, voir http://book.cakephp.org/view/48/Bootstrapping-CakePHP
Vous pouvez définir des constantes dans bootstrap.php dans app/config/directory. Il peut être utilisé globalement dans n'importe quel contrôleur ou vue.
Vous pouvez essayer de définir des constantes avec bootstrap.php (cake 3)
Ce fichier est idéal pour un certain nombre de tâches d’amorçage courantes:
Définir les fonctions de commodité.
Déclarer des constantes.
Définir la configuration du cache.
Définition de la configuration de la journalisation.
Chargement d'inflexions personnalisées.
Chargement des fichiers de configuration.
ref https://book.cakephp.org/3.0/fr/development/configuration.html#bootstrapping-cakephp