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', ], ]]
- 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();