yii框架两点初级疑惑
程序员文章站
2024-01-02 13:59:58
...
1 比如fronted/web/index.php 展现的内容是怎么确定的(index本身不是展现页面的)
2 对于一个app,常用到主页返回,那么gethomeurl在哪里设置的呢?
2 对于一个app,常用到主页返回,那么gethomeurl在哪里设置的呢?
回复内容:
1 比如fronted/web/index.php 展现的内容是怎么确定的(index本身不是展现页面的)
2 对于一个app,常用到主页返回,那么gethomeurl在哪里设置的呢?
本来想根据源码分析 时间有限太特么啰嗦了
直接进入 common/config/main.php
return [
//应用的默认路由 goHome默认会跳转到这里
'defaultRoute' => 'controller/action'
还有一种就是配置系统urlManeger组件
‘components’ => [
'urlManager' => [
//这个baseUrl 最终也会决定homeUrl的去处相当于给当前应用指定一个域名然后真个应用的 路由都基于这个域名跳转
'baseUrl' => 'http://www.test.com',
'class' => 'yii\web\UrlManager',
'enablePrettyUrl' => true,
'showScriptName' => false,
//'suffix' => 'path',
],
]
]
- structure-controllers
-
$controllerObj->redirect();
$controllerObj->goHome();
示例中的用法, 其他参考 api
在Yii中,默认的url应该是这样的:
http://域名/index.php?r=controllerName/actionName&参数1=值1&参数2=值2
对于fronted/web/index.php,目测,frontend应该是网站前台,即frontend目录下有一个web目录,web目录里有index.php文件,这个文件时前台的唯一入口。返回主页不就是在控制内
$this->redirect('/');
翻译出来就是http://域名/这个网址吗?
PS:对第一点补充一下,web目录应该是web server的根目录,比如你要访问fooController下的actionTest()方法,你的url应该这样写:http://域名/index.php?r=foo/test
第一个问题不是很明白,第二个问题:返回主页可以在控制器里使用$this->goHome();
推荐阅读