2015-09-17 3 views
0

Я хочу сделать скрипт установки для моего приложения в yii2 и что я хочу, чтобы перенаправить его на defaultRoute='installation/index', но я получаю эту ошибку пространства имен, когда я правильно имен в моем контроллере установкиошибки пространства имен в контроллере yii2

Также у меня есть модель установки, которая не распространяется на activerecords и используется для получения пользовательских значений ввода и выполнения некоторых действий без необходимости их сохранения в БД, но также не найден каталог.

Below is the error I am getting

код контроллера Установка:

namespace livecrm\controllers; 

class InstallationController extends \yii\web\Controller 
{ 
    public function actionIndex() 
    { 
     return $this->render('index'); 
    } 

} 

установки-config.php:

$config = [ 
    'id' => 'app-livecrm', 
    'basePath' => dirname(__DIR__), 
    'bootstrap' => ['log'], 

    'defaultRoute' => '/installation/index', 
    'components' => [ 
     'request' => [ 
      'cookieValidationKey' => 'JDqkJaMgIITAKcsJY6yvLQdM9jf7WghX', 
     ], 
     'cache' => [ 
      'class' => 'yii\caching\FileCache', 
     ], 
     'user' => [ 
      'identityClass' => 'livefactory\models\User', 
      'enableAutoLogin' => false, 
     ], 
     'errorHandler' => [ 
      'errorAction' => 'site/error', 
     ], 
     'log' => [ 
      'traceLevel' => YII_DEBUG ? 3 : 0, 
      'targets' => [ 
       [ 
        'class' => 'yii\log\FileTarget', 
        'levels' => ['error', 'warning'], 
       ], 
      ], 
     ], 
    ], 
]; 
return $config; 

конфигурации/main.php:

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

return [ 



    'id' => 'app-livecrm', 
    'basePath' => dirname(__DIR__), 
    'controllerNamespace' => 'livecrm\controllers', 
    'bootstrap' => ['log'], 
    'modules' => [ 

     'gii' => [ 
    'class' => 'yii\gii\Module', 
    'allowedIPs' => ['127.0.0.1', '::1', '192.168.0.*', '*'] // adjust this to your needs 
], 

    'gridview' => [ 
      'class' => 'kartik\grid\Module', 
     ], 

     'liveobjects' => [ 
      'class' => 'livefactory\modules\liveobjects\Module', 
     ], 
     'pmt' => [ 
      'class' => 'livefactory\modules\pmt\Module', 
     ], 
     'user' => [ 
      'class' => 'livefactory\modules\user\Module', 
     ], 
     'sales' => [ 
      'class' => 'livefactory\modules\sales\Module', 
     ], 
     'customer' => [ 
      'class' => 'livefactory\modules\customer\Module', 
     ], 
     'product' => [ 
      'class' => 'livefactory\modules\product\product', 
     ], 
     'cron' => [ 
      'class' => 'livefactory\modules\cron\Module', 
     ], 


    ], 
    'components' => [ 
     'user' => [ 
      'identityClass' => 'livefactory\models\User', 
      'enableAutoLogin' => true, 
     ], 
     'log' => [ 
      'traceLevel' => YII_DEBUG ? 3 : 0, 
      'targets' => [ 
       [ 
        'class' => 'yii\log\FileTarget', 
        'levels' => ['error', 'warning'], 
       ], 
      ], 
     ], 
     'errorHandler' => [ 
      'errorAction' => 'site/error', 
     ], 
     'authManager'=>[ 
      'class' => 'yii\rbac\DbManager', 
      'defaultRoles' =>['guest'], 
     ], 
     'as access' => [ 
      'class' => 'mdm\admin\components\AccessControl', 
      'allowActions' => [ 
       'site/*', // add or remove allowed actions to this list 
      ] 
     ], 
    ], 

    'params' => $params, 
]; 
+1

показать некоторый код контроллера – ankitr

+0

@ankitraturi добавлен код контроллера – deepak

+1

Привет Дипак. нам действительно сложно прочитать ваш скриншот кода. Не могли бы вы вместо этого изменить свой вопрос и скопировать/вставить свой код в свой вопрос? –

ответ

1

Похоже, вы используете базовый шаблон приложения.

Пространство имен контроллера для вашего случая должно быть:

namespace app\controllers\InstallationController; 

сообщения об ошибке очень ясно, кстати, и говорит именно об этом.

Update: Если вам нужно пространство имен отличается app\controllers вы можете изменить его через controllerNamespace свойство yii\base\Applcation. Например, вы можете добавить к вашей конфигурации:

'controllerNamespace' => 'livecrm\\controllers', 

Официальные документы:

+0

, но во всем остальном коде моего приложения используется пространство имен livecrm/controller. Так что я хотел используйте тот же самый для этого контроллера также – deepak

+0

его на основе расширенного шаблона, и если я сменил пространство имен на приложение/контроллер, то мне придется все это изменить в коде, который невозможен. Я обновлю свои вопросы с помощью config/main.php, где Я использовал пространство имен контроллера по умолчанию, поскольку livecrm/controller – deepak

+0

'controllerNamespace' => 'livecrm \ controller' уже выполнен в моем файле конфигурации main.php. Я добавил код main.php – deepak

Смежные вопросы