Yii2 params Zugang innerhalb der lokalen config-Datei im common-Verzeichnis
Ich bin mit Yii2
erweiterte Vorlage,
Ich möchte den Zugriff params.php
im main-local.php
- Datei
Ich nannte diese Möglichkeiten:
main-local.php:
'mailer' => [
'class' => 'myClass',
'apikey' => \Yii::$app->params['mandrill_api_key'],
'viewPath' => '@common/mail',
],
und ich haben gespeichert diese mandrill_api_key
im params.php
params.php:
<?php
return [
'adminEmail' => '[email protected]',
'supportEmail' => '[email protected]',
'user.passwordResetTokenExpire' => 3600,
'mandrill_api_key' => 'mykey'
];
Ich bin immer diese Fehlermeldung:
Notice: Trying to get property of non-object in C:\xampp\htdocs\myproject\common\config\main-local.php auf der Linie 25
Was muss ich tun, um den Zugriff auf diese Parameter?
- haben Sie versuchen Sie, ein \, also so etwas wie: \Yii::$app->params['mandrill_api_key']
- Ja, ich habe versucht, diese aber nicht funktioniert, kann ich brauchen, um zu definieren etwas, wenn die Anwendung bootstraping.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den config-Dateien gelesen werden, bevor die Anwendung instanziiert wird, wie in der request-Lebenszyklus:
Als solche
\Yii::$app
noch nicht existiert, daher der Fehler. Ich würde vorschlagen, Sie bewegen Ihre api_key definition dermain-local.php
config, so dass es keine Verwirrung darüber, wo es eingestellt wird:Alternativ können Sie Yii2 ist Abhängigkeit injection-container um die
apikey
in Ihrer Anwendung den Eintrag script:Params ist ein Teil der config, und Sie können nicht rufen Sie diese in Ihre config .
der beste Weg für den handel diese können Sie verwenden Sie diese in Ihrer Klasse :
myClass:
Können Sie nur
brauchen Sie nicht zu verwenden