ホームページ  >  記事  >  バックエンド開発  >  yii 2.0 のフォームウィジェットの概要

yii 2.0 のフォームウィジェットの概要

巴扎黑
巴扎黑オリジナル
2017-08-13 11:32:001171ブラウズ

この記事では、主に Yii 2.0 のフォーム ウィジェットの使用方法を紹介します。この記事の紹介は非常に詳細であり、学習や仕事に役立つ価値があります。必要な方はぜひご覧ください。

はじめに

この記事では主に Yii 2.0 でのフォームウィジェットの使用に関する関連コンテンツを紹介します。詳細な紹介を見てみましょう。 use

まずモデルレイヤーを作成します。フォームウィジェットを使用したいので、ここで必要なコンポーネントは yiiwidgetsActiveForm yiihelpersHtml です 次に、モデルによって定義されたクラスにメソッドを記述します。フォームウィジェットを使用する必要があるコンポーネントを定義する必要があります


コードについてはあまり説明しません

<?php
/**
* Created by PhpStorm.
* User: jinlei
* Date: 2017/5/10
* Time: 9:35
*/

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&#39;=>&#39;用户名&#39;,
‘pwd&#39;=>&#39;密码&#39;,
‘sex&#39;=>&#39;性别&#39;,
‘hobby&#39;=>&#39;爱好&#39;,
‘age&#39;=>&#39;年龄&#39;
];
}
static public function dataarr($data){
$arr = array();
foreach($data as $key=>$value){
$arr[$value[‘kid&#39;]] = $value[‘kname&#39;];
}
return $arr;
}
}
このモデルには、英語のヘッダーを中国語の属性ラベルに変換するメソッドがあります。


単一選択、複数選択、ドロップダウンボックスの値データも扱います


次にコントローラーを作成する必要があります


<?php
/**
* Created by PhpStorm.
* User: jinlei
* Date: 2017/5/10
* Time: 9:39
*/

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&#39;;
$data = yii::$app->db->createCommand($sql)->queryAll();
$arr = Form::dataarr($data);
//var_dump($arr);die;
$model = new Form();
return $this->render(‘index&#39;,[‘model&#39;=>$model,&#39;data&#39;=>$arr]);
}
public function actionAdd(){
$data = Yii::$app->request->post();
echo $name = $data[‘Form&#39;][‘name&#39;];
}
}

その後、コントローラーのビューレイヤーに表示されます私たちのドア


<?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&#39; => ‘login-form&#39;,
‘options&#39; => [‘class&#39; => ‘form-horizontal&#39;],
‘action&#39;=>&#39;?r=login/add&#39;,
‘method&#39;=>&#39;post&#39;,
]) ?>
<?= $form->field($model, ‘name&#39;) ?>
<?= $form->field($model, ‘pwd&#39;)->passwordInput() ?>
<?= $form->field($model, ‘sex&#39;)->radioList([‘0&#39;=>&#39;男&#39;,&#39;1&#39;=>&#39;女&#39;]) ?>
<?= $form->field($model, ‘hobby&#39;)->checkboxList([‘basketball&#39;=>&#39;篮球&#39;,&#39;baseball&#39;=>&#39;棒球&#39;,&#39;swim&#39;=>&#39;游泳&#39;]) ?>
<?= $form->field($model, ‘age&#39;)->dropDownList($data) ?>

<p class=”form-group”>
<p class=”col-lg-offset-1 col-lg-11″>
<?= Html::submitButton(‘Login&#39;, [‘class&#39; => ‘btn btn-primary&#39;]) ?>
</p>
</p>
<?php ActiveForm::end() ?>
このページでは、テキスト ボックス、パスワード ボックス、単一選択、複数選択のドロップダウンを表示します。ドロップダウン ボックス内のデータは db

から読み込まれます。

以上がyii 2.0 のフォームウィジェットの概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。