Rumah >pembangunan bahagian belakang >tutorial php >Apakah operasi rangka kerja YII2 biasa dalam pengaturcaraan PHP?

Apakah operasi rangka kerja YII2 biasa dalam pengaturcaraan PHP?

王林
王林asal
2023-06-12 08:22:561259semak imbas

Pengaturcaraan PHP sentiasa menjadi bahagian penting dalam pembangunan web, dan rangka kerja YII2 adalah salah satu yang paling popular. Sebagai rangka kerja aplikasi web yang sangat baik, terdapat banyak operasi biasa dalam pembangunan YII2. Hari ini kita akan meneroka rangka kerja YII2 dalam pengaturcaraan PHP dan mempelajari tentang operasi biasanya.

  1. Pengawal

Dalam rangka kerja YII2, pengawal adalah kunci untuk memproses permintaan URL. Mereka adalah bahagian teras aplikasi web, secara langsung mengendalikan permintaan respons dan memberikan hasil. Dalam aplikasi YII2, pengawal dilaksanakan sebagai kelas Kod pengawal biasa adalah seperti berikut:

namespace appcontrollers;

use yiiwebController;

class SiteController extends Controller
{
    public function actionIndex()
    {
        return $this->render('index');
    }
}
  1. Paparan (Paparan)

Paparan adalah untuk aplikasi web Paparan hadapan. , dalam YII2, paparan ialah halaman yang memaparkan dan berinteraksi dengan pengguna Ia biasanya digunakan untuk memaparkan halaman HTML, memaparkan fail templat atau memaparkan data jadual kepada pengguna. Biasanya, paparan mengandungi kod HTML, CSS dan JavaScript, dan bahasa PHP digunakan untuk mendapatkan dan memaparkan data model. Dalam aplikasi YII2, paparan biasanya sepadan dengan kaedah operasi dalam pengawal, seperti yang ditunjukkan di bawah:

<?php
  use yiihelpersHtml;
?>

<h1><?= Html::encode($this->title) ?></h1>

<p>
    <?= Html::a('Create Product', ['create'], ['class' => 'btn btn-success']) ?>
</p>

<?= $this->render('_search', ['model' => $searchModel]) ?>

<?= GridView::widget([
    'dataProvider' => $dataProvider,
    'columns' => [
        ['class' => 'yiigridSerialColumn'],

        'id',
        'title',
        'description:ntext',
        'price',

        ['class' => 'yiigridActionColumn'],
    ],
]); ?>
  1. Model (Model)

Model berada dalam rangka kerja YII2 Data enjin, yang membolehkan kami memetakan data daripada jadual pangkalan data ke dalam objek PHP. Dalam aplikasi YII2, model dilaksanakan dengan melanjutkan kelas yiidbActiveRecord. Di sini kita boleh menetapkan beberapa atribut dan peraturan model untuk menyeragamkan model untuk pengesahan dan perlindungan semasa pemprosesan data. Berikut ialah contoh kod model asas:

namespace appmodels;

use yiiaseModel;

class ContactForm extends Model
{
    public $name;
    public $email;
    public $subject;
    public $body;
    public $verifyCode;

    public function rules()
    {
        return [
            // name, email, subject and body are required
            [['name', 'email', 'subject', 'body'], 'required'],
            // email has to be a valid email address
            ['email', 'email'],
            // verifyCode needs to be entered correctly
            ['verifyCode', 'captcha'],
        ];
    }
}
  1. Penghalaan (Penghalaan)

Penghalaan ialah cara untuk mengurus URL dalam aplikasi web Dalam rangka kerja YII2, penghalaan ialah Ini dicapai melalui pengurus URL. Digunakan untuk mentafsir dan memproses seluruh URL, penghalaan memetakan permintaan kepada tindakan pengawal yang sesuai. Ini membolehkan aplikasi kami bertindak balas dengan cepat kepada permintaan pengguna dan mengendalikan pelbagai jenis penghalaan.

'urlManager' => [
    'enablePrettyUrl' => true,
    'showScriptName' => false,
    'rules' => [
        'post/<id:d+>/<title:.*?>' => 'post/view',
        'posts/<tag:.*?>' => 'post/index',
    ],
],
  1. Migrasi Pangkalan Data

Dalam rangka kerja YII2, penghijrahan pangkalan data ialah kaedah aplikasi yang mudah, boleh ditiru dan berbilang untuk mencipta dan mengurus perubahan pangkalan data persekitaran program dilaksanakan. Kita boleh membuat perubahan pangkalan data dengan menjalankan skrip migrasi, seperti membuat jadual, menambah, memadam dan mengubah suai lajur, dsb.

class m160312_345621_create_customer_table extends Migration
{

    public function up()
    {
        $this->createTable('customer', [
            'id' => $this->primaryKey(),
            'name' => $this->string()->notNull(),
            'email' => $this->string()->notNull(),
        ]);
    }

    public function down()
    {
        $this->dropTable('customer');
    }
}
  1. Borang

Borang ialah komponen utama interaksi pengguna dalam aplikasi web Ia digunakan untuk menerima input pengguna, menyerahkan data dan mengesahkan sama ada borang telah dilengkapkan Betul dll. Dalam rangka kerja YII2, borang boleh dilaksanakan oleh kelas Yii aseModel dan kawalan yiiwidgetsActiveForm. Berikut ialah contoh kod borang ringkas yang mengandungi kotak teks, kotak lungsur turun dan butang hantar:

use yiihelpersHtml;
use yiiwidgetsActiveForm;

$form = ActiveForm::begin();
?>

<?= $form->field($model, 'name')->textInput(['maxlength' => true]) ?>

<?= $form->field($model, 'gender')->dropDownList(['1' => '男', '2' => '女'], ['prompt' => '请选择']) ?>

<div class="form-group">
    <?= Html::submitButton('提交', ['class' => 'btn btn-primary']) ?>
</div>

<?php ActiveForm::end(); ?>

Ringkasan:

Dalam pengaturcaraan PHP, rangka kerja YII2 menyediakan banyak operasi yang berkuasa, termasuk pengawal , paparan, model, penghalaan, migrasi dan borang pangkalan data, dsb. Ia merupakan rangka kerja aplikasi web yang sangat baik, boleh dipercayai dan mudah digunakan yang menyokong pengoptimuman prestasi aplikasi web yang fleksibel. Pengenalan ringkas di atas hanyalah sebahagian daripada fungsi YII2 Melalui aplikasi praktikal dan pembelajaran berterusan, anda boleh menemui lebih banyak ciri dan penggunaan rangka kerja YII2 dan mereka bentuk aplikasi web yang cemerlang dan cekap.

Atas ialah kandungan terperinci Apakah operasi rangka kerja YII2 biasa dalam pengaturcaraan PHP?. 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