Yii フレームワークは、Web アプリケーション開発に広く使用されている人気のある PHP フレームワークです。このフレームワークは豊富な機能とツールを提供しますが、最も重要な機能の 1 つはフォームです。この記事では、ユーザーインタラクションインターフェースの構築方法を含め、Yii フレームワークのフォームについて説明します。
フォームとは何ですか?
Web アプリケーションでは、フォームはユーザーがデータを入力または送信できるようにするインターフェイス要素です。通常、フォームには、テキスト ボックス、ドロップダウン リスト、ラジオ ボタン、チェック ボックスなどの一連の入力フィールドが含まれています。ユーザーがフォームに記入して送信すると、通常、このデータは処理のためにサーバーに送信されます。
Yii フレームワークのフォーム
Yii フレームワークは、フォームを構築する複数の方法を提供します。中でもよく使われるのは、Yii が提供する Active Form を使用することです。 Active Form は、フォームを迅速かつ効率的に生成できる Yii のコアクラスです。 Active Form を使用する場合、Yii の Model クラスと Active Record モデル クラスを通じてフォームを生成できます。
Yii の Model クラスを使用してフォームを生成する
Yii の Model クラスを使用してフォームを生成する場合、まず新しい Model クラスを作成し、次にその Model クラスの各フィールドに対応するプロパティを定義する必要があります。フォーム。例:
class ContactForm extends yiiaseModel { public $name; public $email; public $subject; public $body; public function rules() { return [ [['name', 'email', 'subject', 'body'], 'required'], ['email', 'email'], ]; } }
この例では、名前、電子メール アドレス、件名、本文の 4 つの属性を定義し、rules() メソッドを使用してルールを定義します。これらのルールは、ユーザー入力データを検証するために使用できます。
次に、アクティブ フォームを使用して新しいフォームを生成できます:
<?php $form = ActiveForm::begin(); ?> <?= $form->field($model, 'name') ?> <?= $form->field($model, 'email') ?> <?= $form->field($model, 'subject') ?> <?= $form->field($model, 'body')->textarea(['rows' => 6]) ?> <div class="form-group"> <?= Html::submitButton('Submit', ['class' => 'btn btn-primary']) ?> </div> <?php ActiveForm::end(); ?>
この例では、アクティブ フォームの begin() メソッドと end() メソッドを使用してから、$ The field メソッドは、各属性の入力フィールドを生成します。最後に、送信ボタンを追加しました。
Active Record モデル クラスを使用してフォームを生成する
Active Record モデル クラスを使用すると、フォームを迅速に作成することもできます。 Active Record は Yii フレームワークがデータベースを操作するために使用するクラスで、テーブル内の各フィールドのモデル属性を定義できます。
たとえば、ID、ユーザー名、電子メールのフィールドを含む Users テーブルがあります。 Yii のアクティブ レコードを使用して、新しいモデル クラスを生成できます:
class UserForm extends yiidbActiveRecord { public static function tableName() { return 'Users'; } public function rules() { return [ [['username', 'email'], 'required'], ['email', 'email'], ]; } }
この例では、どのデータベース テーブルを使用するかを示す tableName() メソッドを定義します。その後、このクラスに対して通常の Active Record 操作を行うことができます。
アクティブ フォームを使用してフォームを構築するには、次のコードを使用できます:
<?php $form = ActiveForm::begin(); ?> <?= $form->field($model, 'username') ?> <?= $form->field($model, 'email') ?> <div class="form-group"> <?= Html::submitButton('Submit', ['class' => 'btn btn-primary']) ?> </div> <?php ActiveForm::end(); ?>
この例では、アクティブ フォームの begin() メソッドと end() メソッドを使用し、次に$field メソッド 各属性の入力フィールドを生成します。送信ボタンも追加しました。
結論
Yii フレームワークのフォームは、ユーザーインタラクションインターフェイスを構築するための重要なツールです。 Yii の Model クラスを使用する場合でも、Active Record モデル クラスを使用する場合でも、リッチなフォームを迅速かつ効果的に生成できます。上記の例の入力フィールドに加えて、Yii フレームワークは、ファイルのアップロード、日付の選択、パスワード入力ボックスなど、他のさまざまな入力フィールド オプションも提供します。 Yii フレームワークとフォームについて詳しく知りたい場合は、Yii ドキュメントまたは公式 Web サイトをチェックしてください。
以上がYii フレームワークのフォーム: ユーザーインタラクションインターフェースの構築の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。