Yii2中的默认路由为@ app/controllers/SiteController。 但如果我从头开始构建。Yii2将默认路由更改为另一个命名空间
composer require yiisoft/yii2
然后创建我自己的index.php文件,并设置为配置应用
(new yii\web\Application($config))->run();
和应用程序总是尝试当地的defaultContoller在应用程序的命名空间。但如果我把SiteController放在另一个命名空间中。它给了我404错误,
的index.php
require(__DIR__ . '/vendor/autoload.php');
require(__DIR__ . '/vendor/yiisoft/yii2/Yii.php');
$config = require(__DIR__ . '/repo/config/web.php');
(new yii\web\Application($config))->run();
web.php
'id' => 'repo',
'basePath' => dirname(__DIR__),
'controllerNamespace' => 'repo\\controllers',
'defaultRoute' => 'site/index',
文件夹结构
/vendor
-yiisoft
/repo
-config
---web.php
-controllers
---SiteController.php
SiteController.php
<?php
namespace repo\controllers;
use Yii;
use yii\web\Controller;
class SiteController extends Controller{
public function actionIndex(){
echo 'welcome to the site';
}
}
?>
如果我给SiteController.php命名空间的应用程序/控制器它的工作原理,但一旦我将它改回到回购/控制器它说,找不到页面。
我将其添加在配置文件中,但仍获得404 – tyan
@tyan请出示应用程序配置,文件夹结构和控制器代码。 – arogachev
更新问题@argoachev – tyan