web-dev-qa-db-fra.com

Comment obtenir des valeurs de params.php dans Yii2

J'utilise Yii2 pour mon application. Dans params.php fichier J'ai défini un tableau comme:

return ['setValue'=>100];

Et j'ai include params.php dans web.php:

<?php
$params = require(__DIR__ . '/params.php');
$config = [
    'params' => $params,
];
return $config;

Et j'utilise un autre fichier header.php dans le dossier des vues. Alors, comment puis-je obtenir un tableau de paramètres dans header.php? J'ai utilisé comme \Yii::$app->params;, Mais ça ne fonctionne pas.

13
shanthi Jagadeesh

Assurez-vous d'avoir une bonne configuration/main.php (c'est un exemple pour une application backend utilisant un modèle avancé)

  <?php
    $params = array_merge(
        require(__DIR__ . '/../../common/config/params.php'),
        require(__DIR__ . '/../../common/config/params-local.php'),
        require(__DIR__ . '/params.php'),
        require(__DIR__ . '/params-local.php')
    );

    return [
        'id' => 'your-app-backend',
        'name' => 'Your APP Backend',
        'basePath' => dirname(__DIR__),
        'bootstrap' => ['log'],
        'controllerNamespace' => 'backend\controllers',
        'modules' => [],
        'components' => [
            'log' => [
                'traceLevel' => YII_DEBUG ? 3 : 0,
                'targets' => [
                    [
                        'class' => 'yii\log\FileTarget',
                        'levels' => ['error', 'warning'],
                    ],
                ],
            ],
            'errorHandler' => [
                'errorAction' => 'site/error',
            ],
        ],
        'params' => $params,
    ];

En supposant que vous ayez un param.php avec

<?php
  return [
    'adminEmail' => '[email protected]',
 ];

vous pouvez obtenir le param en utilisant yii :: $ app-> params

Yii::$app->params['adminEmail'];

pour l'impression

echo Yii::$app->params['adminEmail'];
17
scaisEdge

Vous pouvez accéder à une valeur avec:

$value = Yii::$app->params['nameParameter'];

Mais, si vous voulez obtenir le tableau

$ values ​​= Yii :: $ app-> params;

Vous devriez pouvoir accéder à toutes les propriétés définies dans votre fichier de configuration qui sont intégrées pour être utilisées comme attributs "Yii :: $ app". Dans ce cas Dans ce cas, l'attribut "params". :

Selon la documentation http://www.yiiframework.com/doc-2.0/guide-structure-applications.html