kang dadang
kang dadang

Reputation: 101

How to get configuration params in Controller Console in Yii2 Framework

How to get configuration params in Console Controller in Yii2 Framework

I try below code but its not working

Yii::$app->params['params_1']

Upvotes: 9

Views: 14467

Answers (3)

Nana Partykar
Nana Partykar

Reputation: 10548

As you mentioned Basic Template Of Yii.

config/web.php

<?php

$params = require(__DIR__ . '/params.php');

$config = [
  'id' => 'basic',
  'basePath' => dirname(__DIR__),
  'bootstrap' => ['log'],
  'components' => [
    .
    .
    .
  ],
  'params' => $params,
];

return $config;
?>

config/params.php

<?php
$params = [
  'params_1' => 'YourValue'
];

return $params;
?>

SomeWhere.php

<?=Yii::$app->params['params_1'];?>

Upvotes: 2

Yasin Patel
Yasin Patel

Reputation: 5731

Try This:

Code in config/params.php

    <?php
    return   array(
                    'apptitle' => 'stackOverlfow', 
                   //Define PARAMS as you need.
                );
    ?>

You can use PARAM as below:

\Yii::$app->params['apptitle'];

Example:

echo "App title is:". \Yii::$app->params['apptitle']; 

Upvotes: 9

Airat Kh
Airat Kh

Reputation: 21

Seems that you insert your param to other conf params.php. My helper function:

/**
 * Get param value from config file.
 * Получение параметра из конфигурационного файла
 *
 * @param string $param_name название пареметра
 *
 * @return string|ApicoServerErrorHttpException Значение параметра
 * @throws \Exception
 */
public static function yiiparam($param_name)
{
    if (isset(\Yii::$app->params[$param_name])) {
        return \Yii::$app->params[$param_name];
    } else {
        $msg = "Can not find param in configuration file. have been search by param = " . VarDumper::export($param_name);
        \Yii::error($msg, __METHOD__);
        throw new ServerErrorHttpException();
    }
}

Upvotes: 1

Related Questions