控制器是 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, ]); } } }
建立控制器
在Web applications網頁應用程式中,控制器應繼承yii\web\Controller 或它的子類別。同理在console applications控制台應用程式中,控制器繼承yii\console\Controller 或它的子類別。
如下程式定義一個 site 控制器:
namespace app\controllers; use yii\web\Controller; class SiteController extends Controller { }
以上是yii控制器怎麼定義的詳細內容。更多資訊請關注PHP中文網其他相關文章!