2017-01-25 29 views
7

Używam yii2 do mojej aplikacji. W params.php pliku I zdefiniowano tablicę jakjak uzyskać wartości z params.php w yii2

return ['setValue'=>100]; 

i mają obejmować params.php w web.php

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

]; return $ config;

i używam innego pliku header.php w folderze views. Więc jak uzyskać tablicę params w header.php? Użyłem jak \ Yii :: $ app-> params; to nie działa. Czy ktoś może mi pomóc

Odpowiedz

12

Pamiętaj, że masz prawidłowe config/main.php (ten przykładowy fi dla aplikacji backend I advanded szablon)

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

Zakładając masz param.php z

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

można uzyskać param używając Yii :: $ app-> params

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

do drukowania wykorzystania

echo Yii::$app->params['adminEmail'])) 
+0

@shanthiJagadeesh odpowiedź zaktualizowanego z zaawansowanych szablonów main.php – scaisEdge

+0

itz pracy thank u –

+1

@shanthiJagadeesh dobrze, jeśli moja odpowiedź jest tuż prosimy oznaczyć go jako akceptowane ... zobacz jak tutaj http : //meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work – scaisEdge

2

Można uzyskać dostęp do jednej wartości z:

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

Ale, jeśli chcesz uzyskać tablicę

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

powinny być w stanie uzyskać dostęp do wszystkich właściwości określonych w pliku konfiguracyjnym, który jest zintegrowany z atrybutami "Yii :: $ app". W tym przypadku W tym przypadku atrybut "params". :

Zgodnie z dokumentacją http://www.yiiframework.com/doc-2.0/guide-structure-applications.html

+0

możesz dodać link do źródła .. – lalithkumar