首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 綜合知識

Yii 1.x 設定預設 Controller 與 Action

     編輯:PHP 綜合知識

設定預設 Controller

在主設定檔 protected/config/main.php 中指定:

<?php
return [
    'name' => 'My Application',
    'defaultController' => 'site', // 對應 SiteController
    // ...
];

訪問 index.php 時將路由至 SiteController::actionIndex()。

設定預設 Action

在 Controller 類別中宣告 $defaultAction 屬性:

<?php
class SiteController extends CController
{
    public $defaultAction = 'dashboard'; // 預設動作

    public function actionIndex()
    {
        // 原本的 index 動作
    }

    public function actionDashboard()
    {
        // 新的預設動作
        $this->render('dashboard');
    }
}

路由解析優先順序

/或/index.php/或/index.php/site/site/dashboard/site/index
URL解析結果
defaultController/actionIndex (若無 $defaultAction)
defaultController/$defaultAction (若有設定)
SiteController/actionIndex
SiteController/actionDashboard
SiteController/actionIndex

進階:模組層級預設值

若使用模組,可在模組類別中設定:

<?php
class AdminModule extends CWebModule
{
    public $defaultController = 'dashboard';
    // 模組內部預設 action 在對應 Controller 設定
}

Yii 2.x 差異提醒

Yii 2 設定方式不同:

<?php
// config/web.php
return [
    'id' => 'app',
    'defaultRoute' => 'site/dashboard', // 格式: ControllerID/ActionID
    // ...
];

Controller 中不再有 $defaultAction,改由 defaultRoute 統一控制。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved