search

Home  >  Q&A  >  body text

php - yii框架两点初级疑惑

1 比如fronted/web/index.php 展现的内容是怎么确定的(index本身不是展现页面的)
2 对于一个app,常用到主页返回,那么gethomeurl在哪里设置的呢?

伊谢尔伦伊谢尔伦2899 days ago328

reply all(4)I'll reply

  • 阿神

    阿神2017-04-10 15:15:19

    本来想根据源码分析 时间有限太特么啰嗦了
    直接进入 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',
            ],
        ]
    
    ]
    

    reply
    0
  • PHP中文网

    PHP中文网2017-04-10 15:15:19

    1. structure-controllers
    2. $controllerObj->redirect(); $controllerObj->goHome(); 示例中的用法, 其他参考 api

    reply
    0
  • 巴扎黑

    巴扎黑2017-04-10 15:15:19

    1. 在Yii中,默认的url应该是这样的: http://域名/index.php?r=controllerName/actionName&参数1=值1&参数2=值2
      对于fronted/web/index.php,目测,frontend应该是网站前台,即frontend目录下有一个web目录,web目录里有index.php文件,这个文件时前台的唯一入口。

    2. 返回主页不就是在控制内 $this->redirect('/'); 翻译出来就是http://域名/这个网址吗?

    PS:对第一点补充一下,web目录应该是web server的根目录,比如你要访问fooController下的actionTest()方法,你的url应该这样写:http://域名/index.php?r=foo/test

    reply
    0
  • ringa_lee

    ringa_lee2017-04-10 15:15:19

    第一个问题不是很明白,第二个问题:返回主页可以在控制器里使用$this->goHome();

    reply
    0
  • Cancelreply