yii架構兩點初級疑惑

來源:互聯網
上載者:User
1 比如fronted/web/index.php 展現的內容是怎麼確定的(index本身不是展現頁面的)
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',        ],    ]]

  1. structure-controllers
  2. $controllerObj->redirect(); $controllerObj->goHome(); 樣本中的用法, 其他參考 api

  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

第一個問題不是很明白,第二個問題:返回首頁可以在控制器裡使用$this->goHome();

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.