Yii フレームワークのフォーム: ユーザーインタラクションインターフェースの構築

WBOY
リリース: 2023-06-21 10:48:59
オリジナル
988 人が閲覧しました

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート