Maison >développement back-end >tutoriel php >Explication détaillée de l'utilisation des widgets de formulaire Yii2
Cet article vous présente principalement l'utilisation des widgets de formulaire dans Yii 2.0. L'introduction dans l'article est très détaillée et a une certaine valeur d'apprentissage de référence pour les études ou le travail de chacun. Les amis qui en ont besoin peuvent y jeter un œil ci-dessous. J'espère que cela aide tout le monde.
Avant-propos
Cet article présente principalement le contenu pertinent sur l'utilisation des widgets de formulaire dans yii 2.0. Il est partagé pour référence et étude par chacun. . Ci-dessous, jetons un coup d'œil à l'introduction détaillée :
Méthode d'utilisation
Créez d'abord le calque de modèle Parce que vous souhaitez utiliser des widgets de formulaire. , vous devez charger les composants correspondants. , les composants nécessaires ici sont yiiwidgetsActiveForm yiihelpersHtml
Ensuite, écrivez la méthode dans la classe définie par le modèle. Tout d'abord, nous devons définir la valeur de nom dont nous avons besoin. pour utiliser le widget de formulaire
Non Parlons plus du code
<?php namespace frontend\models; use yii\base\Model; use yii\widgets\ActiveForm; use yii\helpers\Html; class Form extends Model { public $name; public $pwd; public $sex; public $hobby; public $age; public function rules(){ return[ ]; } public function attributeLabels(){ return[ ‘name'=>'用户名', ‘pwd'=>'密码', ‘sex'=>'性别', ‘hobby'=>'爱好', ‘age'=>'年龄' ]; } static public function dataarr($data){ $arr = array(); foreach($data as $key=>$value){ $arr[$value[‘kid']] = $value[‘kname']; } return $arr; } }
Dans ce modèle, il existe une méthode pour convertir les en-têtes anglais en attributuLabels chinois
Nous traitons également de la sélection unique, de la sélection multiple et de la liste déroulante. La valeur de la boîte est dataarr
Ensuite, nous devons créer le contrôleur
<?php namespace frontend\controllers; use yii\web\Controller; use yii; use db; use frontend\models\Form; class LoginController extends Controller { public function actionIndex(){ $sql = ‘select kid,kname from exam_tiku'; $data = yii::$app->db->createCommand($sql)->queryAll(); $arr = Form::dataarr($data); //var_dump($arr);die; $model = new Form(); return $this->render(‘index',[‘model'=>$model,'data'=>$arr]); } public function actionAdd(){ $data = Yii::$app->request->post(); echo $name = $data[‘Form'][‘name']; } }
puis l'afficher dans la couche de vue de ma porte
<?php /** * Created by PhpStorm. * User: jinlei * Date: 2017/5/10 * Time: 9:41 */ use yii\helpers\Html; use yii\widgets\ActiveForm; $form = ActiveForm::begin([ ‘id' => ‘login-form', ‘options' => [‘class' => ‘form-horizontal'], ‘action'=>'?r=login/add', ‘method'=>'post', ]) ?> <?= $form->field($model, ‘name') ?> <?= $form->field($model, ‘pwd')->passwordInput() ?> <?= $form->field($model, ‘sex')->radioList([‘0'=>'男','1'=>'女']) ?> <?= $form->field($model, ‘hobby')->checkboxList([‘basketball'=>'篮球','baseball'=>'棒球','swim'=>'游泳']) ?> <?= $form->field($model, ‘age')->dropDownList($data) ?> <p class=”form-group”> <p class=”col-lg-offset-1 col-lg-11″> <?= Html::submitButton(‘Login', [‘class' => ‘btn btn-primary']) ?> </p> </p> <?php ActiveForm::end() ?>
Dans cette page, nous montrons la zone de texte de la zone de mot de passe à sélection unique multi -sélectionnez la zone déroulante où les données de la zone déroulante sont lues à partir de la base de données
Recommandations associées :
Yii2 implémente l'interconnexion QQ connexion
Analyse simple Yii2 à l'aide du cache
Yii2 implémente le contrôle des autorisations rbac
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!