wh1012023498
2017-01-15 01:13:38 +08:00
至于楼主所提到的问题是这样的。。
Yii2 有两套模板一套叫 basic 一套叫 advanced
basic 模板只有一个应用。。所以它的根命名空间 默认是是 app 。目测你用的不是这个。
详细代码在 yii\base\Application preinit 。你会发现框架默认给项目根目录设置了一个别名叫 app 。。
如果你要修改命名空间,你可以重写设置一个别名。。
如果是用的 advanced 的话,需要看下入口文件
index.php
```
<?php
// comment out the following two lines when deployed to production
defined('YII_DEBUG') or define('YII_DEBUG', true);
defined('YII_ENV') or define('YII_ENV', 'dev');
require(__DIR__ . '/../vendor/autoload.php');
require(__DIR__ . '/../vendor/yiisoft/yii2/Yii.php');
require(__DIR__ . '/../config/bootstrap.php');//这个是重点。。
$config = yii\helpers\ArrayHelper::merge(
require(__DIR__ . '/../config/main.php'),
require(__DIR__ . '/../config/main-local.php')
);
$application = new \yii\web\Application($config);
$application->run();
```
common/config/bootstrap.php
```
<?php
Yii::setAlias('@common', dirname(__DIR__));
Yii::setAlias('@frontend', dirname(dirname(__DIR__)) . '/frontend');
Yii::setAlias('@backend', dirname(dirname(__DIR__)) . '/backend');
Yii::setAlias('@console', dirname(dirname(__DIR__)) . '/console');
Yii::setAlias('@core', dirname(dirname(__DIR__)) . '/core');//加上这句就可
```