控制器是 MVC 模式中的一部分, 是繼承yii\base\Controller類別的對象,負責處理請求和產生回應。
具體來說,控制器從應用主體 接管控制後會分析請求資料並傳送到模型, 傳送模型結果到視圖,最後產生輸出回應資訊。
動作 (建議學習:yii架構)
控制器由操作組成,它是執行終端使用者請求的最基礎的單元, 一個控制器可有一個或多個操作。
如下範例顯示包含兩個動作view and create 的控制器post:
namespace app\controllers; use Yii; use app\models\Post; use yii\web\Controller; use yii\web\NotFoundHttpException; class PostController extends Controller { public function actionView($id) { $model = Post::findOne($id); if ($model === null) { throw new NotFoundHttpException; } return $this->render('view', [ 'model' => $model, ]); } public function actionCreate() { $model = new Post; if ($model->load(Yii::$app->request->post()) && $model->save()) { return $this->redirect(['view', 'id' => $model->id]); } else { return $this->render('create', [ 'model' => $model, ]); } } }
在操作 view (定義為 actionView() 方法)中,程式碼先根據請求模型ID載入 模型, 如果載入成功,會渲染名稱為view的視圖並顯示,否則會拋出一個異常。
在操作 create (定義為 actionCreate() 方法)中, 程式碼相似. 先將請求資料填入模型, 然後儲存模型,如果兩者都成功,會跳到ID為新建立的模型的view操作, 否則顯示提供使用者輸入的create視圖。
以上是yii框架控制器有什麼用的詳細內容。更多資訊請關注PHP中文網其他相關文章!