Rumah  >  Artikel  >  rangka kerja php  >  Borang dalam rangka kerja Yii: membina antara muka interaksi pengguna

Borang dalam rangka kerja Yii: membina antara muka interaksi pengguna

WBOY
WBOYasal
2023-06-21 10:48:59876semak imbas

Rangka kerja Yii ialah rangka kerja PHP popular yang digunakan secara meluas untuk pembangunan aplikasi web. Rangka kerja menyediakan banyak ciri dan alatan, salah satu ciri yang paling penting ialah borang. Dalam artikel ini, kami akan meneroka borang dalam rangka kerja Yii, termasuk cara membina antara muka interaksi pengguna.

Apakah itu borang?

Dalam aplikasi web, borang ialah elemen antara muka yang membolehkan pengguna memasukkan atau menyerahkan data. Biasanya, borang mengandungi satu siri medan input, seperti kotak teks, senarai juntai bawah, butang radio dan kotak semak. Apabila pengguna mengisi borang dan menyerahkannya, data ini biasanya dihantar ke pelayan untuk diproses.

Borang dalam rangka kerja Yii

Rangka kerja Yii menyediakan pelbagai cara untuk membina borang. Antaranya, yang paling biasa digunakan ialah menggunakan Active Form yang disediakan oleh Yii. Borang Aktif ialah kelas teras Yii yang boleh menjana borang dengan cepat dan cekap. Apabila menggunakan Borang Aktif, kita boleh menjana borang melalui kelas Model Yii dan kelas model Rekod Aktif.

Gunakan kelas Model Yii untuk menjana borang

Apabila menggunakan kelas Model Yii untuk menjana borang, kita perlu mencipta kelas Model baharu dahulu, dan kemudian menentukan atribut yang sepadan dengan setiap medan borang tersebut. Contohnya:

class ContactForm extends yiiaseModel
{
    public $name;
    public $email;
    public $subject;
    public $body;

    public function rules()
    {
        return [
            [['name', 'email', 'subject', 'body'], 'required'],
            ['email', 'email'],
        ];
    }
}

Dalam contoh ini, kami mentakrifkan empat atribut: nama, alamat e-mel, subjek dan kandungan serta menggunakan kaedah rules() untuk mentakrifkan peraturan. Peraturan ini boleh digunakan untuk mengesahkan data input pengguna.

Seterusnya, kita boleh menggunakan Borang Aktif untuk menjana borang baharu:

<?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(); ?>

Dalam contoh ini, kita menggunakan kaedah begin() dan end() bagi Active Form, dan kemudian menggunakan $ The kaedah medan menjana medan input untuk setiap atribut. Akhirnya, kami menambah butang hantar.

Gunakan kelas model Active Record untuk menjana borang

Anda juga boleh menggunakan kelas model Active Record untuk membina borang dengan cepat. Rekod Aktif ialah kelas yang digunakan oleh rangka kerja Yii untuk mengendalikan pangkalan data Ia boleh menentukan atribut model untuk setiap medan dalam jadual.

Sebagai contoh, kami mempunyai jadual Pengguna, yang mengandungi medan id, nama pengguna dan e-mel. Kita boleh menggunakan Rekod Aktif Yii untuk menjana kelas model baharu:

class UserForm extends yiidbActiveRecord
{
    public static function tableName()
    {
        return 'Users';
    }

    public function rules()
    {
        return [
            [['username', 'email'], 'required'],
            ['email', 'email'],
        ];
    }
}

Dalam contoh ini, kami mentakrifkan kaedah tableName() untuk menunjukkan jadual pangkalan data yang hendak digunakan. Kami kemudiannya boleh melakukan sebarang operasi Rekod Aktif biasa pada kelas ini.

Untuk membina borang menggunakan Borang Aktif, kita boleh menggunakan kod berikut:

<?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(); ?>

Dalam contoh ini, kita menggunakan kaedah begin() dan end() bagi Active Form dan kemudian menggunakan kaedah $field Hasilkan medan input untuk setiap atribut. Kami juga menambah butang hantar.

Kesimpulan

Borang dalam rangka kerja Yii ialah alat penting untuk membina antara muka interaksi pengguna. Sama ada anda menggunakan kelas Model Yii atau kelas model Active Record, anda boleh menjana borang kaya dengan cepat dan berkesan. Sebagai tambahan kepada medan input dalam contoh di atas, rangka kerja Yii juga menyediakan pelbagai pilihan medan input lain, seperti muat naik fail, pemilihan tarikh, kotak input kata laluan, dsb. Jika anda ingin mengetahui lebih lanjut tentang rangka kerja dan borang Yii, anda boleh menyemak dokumentasi Yii atau tapak web rasmi.

Atas ialah kandungan terperinci Borang dalam rangka kerja Yii: membina antara muka interaksi pengguna. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn