Yii2 params accès dans les locaux de fichier de configuration dans le répertoire courant
Je suis en utilisant Yii2
avancé de modèle,
Je veux accéder à params.php
dans main-local.php
fichier,
J'ai appelé cette façons:
main-local.php:
'mailer' => [
'class' => 'myClass',
'apikey' => \Yii::$app->params['mandrill_api_key'],
'viewPath' => '@common/mail',
],
et je l'ai stocké cette mandrill_api_key
dans params.php
params.php:
<?php
return [
'adminEmail' => '[email protected]',
'supportEmail' => '[email protected]',
'user.passwordResetTokenExpire' => 3600,
'mandrill_api_key' => 'mykey'
];
J'obtiens cette erreur:
Avis: Essayer d'obtenir la propriété de non-objet dans C:\xampp\htdocs\myproject\common\config\main-local.php sur la ligne 25
Que dois-je faire pour accéder à ces paramètres?
avez-vous essayez d'ajouter un \, donc quelque chose comme: \Yii::$app->params['mandrill_api_key']
Oui j'ai essayé ceci, mais ne fonctionne pas, peut-être j'ai besoin de définir quelque chose lors de l'application ou initier.
Oui j'ai essayé ceci, mais ne fonctionne pas, peut-être j'ai besoin de définir quelque chose lors de l'application ou initier.
OriginalL'auteur Muhammad Shahzad | 2015-09-21
Vous devez vous connecter pour publier un commentaire.
Les fichiers de configuration sont à lire avant l'application est instancié comme expliqué dans la demande de cycle de vie:
En tant que tel
\Yii::$app
n'existe pas encore d'où l'erreur. Je suggère de déplacer votre api_key définition de lamain-local.php
config telle qu'il n'y est pas de confusion sur l'endroit où il est défini:Alternativement, vous pouvez utiliser Yii2 de conteneur d'injection de dépendance pour définir la
apikey
dans votre application à l'entrée du script:@huss pointues que vous pourriez utiliser directement $params en local des fichiers de configuration
OriginalL'auteur topher
Les params est une partie de config et vous ne pouvez pas appeler cela dans votre config .
la meilleure façon de haendel cela, vous pouvez l'utiliser dans votre classe :
maclasse:
OriginalL'auteur Amir Mohsen
Il vous suffit de faire
vous n'avez pas besoin d'utiliser
OriginalL'auteur huss