小編給大家分享一下yii框架控制器的作用,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
創(chuàng)新互聯(lián)公司主要從事成都網(wǎng)站制作、網(wǎng)站設(shè)計(jì)、網(wǎng)頁設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)敦化,十余年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):18982081108控制器是 MVC 模式中的一部分, 是繼承yii\base\Controller類的對象,負(fù)責(zé)處理請求和生成響應(yīng)。
具體來說,控制器從應(yīng)用主體 接管控制后會分析請求數(shù)據(jù)并傳送到模型, 傳送模型結(jié)果到視圖,最后生成輸出響應(yīng)信息。
動(dòng)作
控制器由 操作 組成,它是執(zhí)行終端用戶請求的最基礎(chǔ)的單元, 一個(gè)控制器可有一個(gè)或多個(gè)操作。
如下示例顯示包含兩個(gè)動(dòng)作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() 方法)中, 代碼首先根據(jù)請求模型ID加載 模型, 如果加載成功,會渲染名稱為view的視圖并顯示,否則會拋出一個(gè)異常。
在操作 create (定義為 actionCreate() 方法)中, 代碼相似. 先將請求數(shù)據(jù)填入模型, 然后保存模型,如果兩者都成功,會跳轉(zhuǎn)到ID為新創(chuàng)建的模型的view操作, 否則顯示提供用戶輸入的create視圖。
看完了這篇文章,相信你對“yii框架控制器的作用”有了一定的了解,如果想了解更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!