как исправить пространство имен, отсутствующее в yii2 - PullRequest
0 голосов
/ 22 января 2019

Я не знаю, что происходит, я устанавливал mongodb раньше. тогда я обновляю свою страницу и вдруг появилось уведомление об ошибке запрос на отсутствие пространства имен

Невозможно найти 'application \ modules \ home \ models \ User' в файле: F: \ aplikasi \ laragon \ www \ yiiad \ application / modules / home / models / User.php. Отсутствует пространство имен?

Я уже проверил коды, которые я сделал ранее, и до сих пор не знаю, где мои ошибки

Это пользовательская структура моей модели \ Приложения \ модули \ Главная \ модели \ пользователь

эта модель \ код пользователя

<?php 
namespace home\models; 

use Yii;
use yii\behaviors\TimestampBehavior;
use yii\db\ActiveRecord;
use yii\db\Query;
use yii\web\IdentityInterface;

class User extends ActiveRecord implements IdentityInterface
{}
?>

Мой псевдоним

<?php
Yii::setAlias('@modules', dirname(dirname(__DIR__)) . '/application/modules');

Настройка моего пути

'basePath' => '@modules/home',
'modules' => [
    'admin' => [
      'class' => 'admin\Module'
    ],
    'home' => [
      'class' => 'home\Module'
    ],
  ],

Мои модули

<?php
namespace home;
class Module extends \yii\base\Module{

public function init()
{
 parent::init();
    if (\Yii::$app instanceof \yii\console\Application) {
        $this->controllerNamespace = 'home\controllers';
    }
  }
}

1 Ответ

0 голосов
/ 22 января 2019

Пространство имен home неверно. Вы должны использовать modules псевдоним в пространстве имен модуля

namespace modules\home;

class Module extends \yii\base\Module
{
}

и в конфиге

'modules' => [
    'home' => [
      'class' => 'modules\home\Module'
    ],
],

Или вы должны установить псевдоним для home directory

'aliases' => [
    '@home' => 'path to home directory'
],
'modules' => [
    'home' => [
      'class' => 'home\Module'
    ],
  ],
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...