如何在 Yii2 中从参数.php中获取值

2022-08-30 23:17:48

我正在使用 Yii2 作为我的应用程序。在文件中,我定义了一个数组,如下所示:params.php

return ['setValue'=>100];

我有:include params.phpweb.php

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

我正在使用视图文件夹中的另一个文件。那么我怎样才能得到参数数组呢?我已经用了像,但它不起作用。header.phpheader.php\Yii::$app->params;


答案 1

请确保您具有正确的配置/主.php(这是使用高级模板的后端应用程序的示例)

  <?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,
    ];

假设你有一个参数.php

<?php
  return [
    'adminEmail' => 'my_mail@example.com',
 ];

你可以使用 yii::$app->params 获取参数

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

用于打印

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

答案 2

您可以使用以下命令访问一个值:

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

但是,如果要获取数组

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

您应该能够访问配置文件中定义的所有属性,这些属性已集成以用作“Yii::$app”属性。在本例中,为“params”属性。:

根据文档 http://www.yiiframework.com/doc-2.0/guide-structure-applications.html


推荐