在 Yii2 中创建一个控制器需要遵循以下步骤:
创建一个 PHP 类文件,该类需要继承 yii\web\Controller 类,如下所示:
<?php
namespace app\controllers;
use yii\web\Controller;
class SiteController extends Controller
{
// 控制器代码
}
在该控制器中添加一个或多个操作方法,如下所示:
public function actionIndex()
{
// 操作方法代码
return $this->render('index');
}
这里的 actionIndex 方法是控制器的默认操作方法,当没有指定操作方法时,将默认调用该方法。
在 Yii2 的路由规则中将该控制器映射到一个 URL 上,例如将 /site/index 映射到 SiteController 的 actionIndex() 操作方法上。
这样就完成了一个简单的控制器的创建过程。
底层原理是 Yii2 框架提供了一个基类 yii\web\Controller,我们创建的控制器继承该基类,从而拥有了路由、视图渲染等一系列方法,可以在控制器中定义操作方法,对外提供服务。同时,Yii2 的路由机制会自动根据 URL 中的路径信息,将请求转发给对应的控制器及其操作方法。