我正在使用Yii2作为我的应用程序。params.php
文件中,我定义了一个数组,如下所示:
return ['setValue'=>100];
我在web.php
include params.php
:
<?php
$params = require(__DIR__ . '/params.php');
$config = [
'params' => $params,
];
return $config;
我正在使用视图文件夹中的另一个文件header.php
。那么如何在header.php
中获得参数数组呢?我用过像Yii::$app->params;
,但是它不起作用。
确保您有正确的配置/main.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' => 'backendcontrollers',
'modules' => [],
'components' => [
'log' => [
'traceLevel' => YII_DEBUG ? 3 : 0,
'targets' => [
[
'class' => 'yiilogFileTarget',
'levels' => ['error', 'warning'],
],
],
],
'errorHandler' => [
'errorAction' => 'site/error',
],
],
'params' => $params,
];
假设你有一个参数.php
<?php
return [
'adminEmail' => 'my_mail@example.com',
];
您可以使用 yii::$app->参数获取参数
Yii::$app->params['adminEmail'];
用于打印用途
echo Yii::$app->params['adminEmail'];
您可以使用以下命令访问一个值:
$value = Yii::$app->params['nameParameter'];
但是,如果你想得到数组
$values = Yii::$app->参数;
您应该能够访问配置文件中定义的所有属性,这些属性被集成用作 "Yii::$app" 属性。在本例中,"params"属性。:
根据文件 http://www.yiiframework.com/doc-2.0/guide-structure-applications.html