Maison >cadre php >YII >Comment définir le contrôleur yii

Comment définir le contrôleur yii

(*-*)浩
(*-*)浩original
2019-12-04 13:33:242692parcourir

Comment définir le contrôleur yii

Controller fait partie du modèle MVC. C'est un objet qui hérite de la classe yiibaseController et est responsable du traitement des requêtes et de la génération des réponses. Plus précisément, après avoir pris le contrôle du corps de l'application, le contrôleur analyse les données de la demande et les transmet au modèle, transmet les résultats du modèle à la vue et génère enfin des informations de réponse de sortie. (Apprentissage recommandé : framework yii)

Action

Le contrôleur est composé d'opérations, qui est l'unité la plus basique pour exécuter l'utilisateur final requêtes. Un contrôleur peut avoir une ou plusieurs opérations.

L'exemple suivant montre une publication de contrôleur contenant deux actions : afficher et créer :

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,
            ]);
        }
    }
}

Créer un contrôleur

Dans les applications Web, les contrôleurs doivent hériter de yiiwebController ou de ses sous-classes. De même, dans les applications console, le contrôleur hérite de yiiconsoleController ou de ses sous-classes.

Le code suivant définit un contrôleur de site :

namespace app\controllers;
use yii\web\Controller;
class SiteController extends Controller
{
}

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn