Rumah >rangka kerja php >YII >Panduan Bermula untuk Rangka Kerja Yii: Asas dan Aplikasi

Panduan Bermula untuk Rangka Kerja Yii: Asas dan Aplikasi

王林
王林asal
2023-06-21 08:58:363003semak imbas

Pengenalan:

Yii ialah rangka kerja aplikasi web PHP yang cekap, selamat dan mudah berskala untuk pembangunan pesat aplikasi web moden. Kod sumber rangka kerja Yii dilesenkan di bawah lesen MIT Anda boleh menggunakannya secara percuma dalam projek komersial selagi anda mengikut syarat lesen.

Artikel:

  1. Pengenalan kepada Yii

Rangka kerja aplikasi Yii ialah aplikasi web berdasarkan bingkai corak MVC (Model-View-Controller). Ia adalah rangka kerja berorientasikan objek yang direka untuk memudahkan proses pembangunan dan meningkatkan prestasi dan keselamatan aplikasi web.

Rangka kerja Yii menyediakan satu siri komponen dan alatan yang boleh membantu dalam pembangunan pesat aplikasi web lanjutan. Matlamat rangka kerja Yii adalah untuk menyediakan rangka kerja yang cekap, selamat dan mudah digunakan supaya pembangun dapat menjimatkan masa dan usaha apabila menggunakannya.

  1. Pemasangan dan Konfigurasi Yii

Sebelum anda mula menggunakan rangka kerja Yii, anda perlu memasangnya terlebih dahulu. Rangka kerja Yii boleh dipasang melalui arahan komposer Anda perlu memastikan arahan komposer telah dipasang. Berikut ialah langkah tentang cara memasang rangka kerja Yii:

composer require yiisoft/yii2-app-basic

Selepas pemasangan selesai, anda boleh mengkonfigurasi rangka kerja Yii melalui fail konfigurasi. Secara lalai, rangka kerja Yii menggunakan fail konfigurasi config/web.php. Fail ini boleh digunakan untuk mengkonfigurasi semua komponen aplikasi, seperti komponen pangkalan data, komponen penghala, dsb.

  1. Struktur asas Yii

Struktur asas rangka kerja Yii adalah seperti berikut:

project/
    assets/                 用于存储自动生成的Web资源
    commands/               包含项目命令文件
    config/                 包含应用程序的配置文件
        web.php             Web应用程序配置文件
    controllers/            包含项目的控制器类
    models/                 包含与数据库表对应的模型类
    runtime/                用于存储临时文件和缓存文件
    tests/                  用于存储单元测试和功能测试文件
    vendor/                 包含应用程序的依赖项
    views/                  包含Web应用程序的视图文件
    web/                    包含可以通过Web访问的文件(包括index.php前台文件)
  1. Penghalaan Yii
'urlManager' => [
    'enablePrettyUrl' => true,
    'showScriptName' => false,
    'rules' => [
        '<controller:w+>/<id:d+>'=>'<controller>/view',
        '<controller:w+>/<action:w+>/<id:d+>'=>'<controller>/<action>',
        '<controller:w+>/<action:w+>'=>'<controller>/<action>',
    ],
],
    Model Yii
Model rangka kerja Yii ialah objek yang dikaitkan dengan jadual pangkalan data, ia boleh Digunakan untuk melaksanakan pelbagai operasi seperti sebagai data membaca dan menulis. Model rangka kerja Yii melaksanakan corak Rekod Aktif dan menyediakan beberapa ciri berguna seperti pengesahan data dan korelasi data.

Berikut ialah contoh model rangka kerja Yii:

class User extends yiidbActiveRecord
{
    public static function tableName()
    {
        return 'user';
    }
 
    public function rules()
    {
        return [
            [['username', 'email'], 'required'],
            [['username', 'email'], 'unique'],
            [['email'], 'email'],
        ];
    }
 
    public function attributeLabels()
    {
        return [
            'id' => 'ID',
            'username' => '用户名',
            'email' => 'Email',
        ];
    }
}

    Pandangan dan susun atur Yii
Pandangan rangka kerja Yii adalah untuk memaparkan data dan tempat interaksi pengguna. Ia boleh mengandungi kod HTML, CSS dan JavaScript, serta kod PHP untuk mengeluarkan data dan berinteraksi dengan pengguna. Paparan boleh menggunakan reka letak untuk berkongsi coretan biasa dan elemen paparan.

Berikut ialah contoh paparan dan reka letak rangka kerja Yii:

<?php $this->beginPage() ?>
<!DOCTYPE html>
<html lang="<?= Yii::$app->language ?>">
<head>
    <meta charset="<?= Yii::$app->charset ?>"/>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <?= Html::csrfMetaTags() ?>
    <title><?= Html::encode($this->title) ?></title>
    <?php $this->head() ?>
</head>
<body>
<?php $this->beginBody() ?>
 
<div class="container">
    <?= $content ?>
</div>
 
<?php $this->endBody() ?>
</body>
</html>
<?php $this->endPage() ?>

    Pengawal untuk Yii
Pengawal untuk rangka kerja Yii bertanggungjawab untuk mengendalikan pengguna aplikasi web permintaan dan berinteraksi dengan model dan pandangan. Pengawal mengandungi berbilang tindakan, setiap satu mengendalikan permintaan halaman. Setiap operasi boleh memberikan paparan atau output data secara langsung.

Berikut ialah contoh pengawal rangka kerja Yii:

class UserController extends yiiwebController
{
    public function actionIndex()
    {
        $users = User::find()->all();
        return $this->render('index', ['users' => $users]);
    }
 
    public function actionView($id)
    {
        $user = User::findOne($id);
        return $this->render('view', ['user' => $user]);
    }
 
    public function actionCreate()
    {
        $user = new User();
        if($user->load(Yii::$app->request->post()) && $user->save()){
            return $this->redirect(['view', 'id' => $user->id]);
        }
        return $this->render('create', ['user' => $user]);  
    }
 
    public function actionUpdate($id)
    {
        $user = User::findOne($id);
        if($user->load(Yii::$app->request->post()) && $user->save()){
            return $this->redirect(['view', 'id' => $user->id]);
        }
        return $this->render('update', ['user' => $user]);
    }
 
    public function actionDelete($id)
    {
        $user = User::findOne($id);
        $user->delete();
        return $this->redirect(['index']);
    }
}

Kesimpulan:

Di atas adalah pengenalan, pemasangan, struktur asas, penghalaan, model, pandangan, susun atur Rangka kerja Yii dan pengetahuan asas serta aplikasi pengawal, yang merupakan asas untuk mempelajari rangka kerja Yii. Berbekalkan pengetahuan ini, anda boleh mula membina aplikasi web yang kompleks menggunakan rangka kerja Yii.

Atas ialah kandungan terperinci Panduan Bermula untuk Rangka Kerja Yii: Asas dan Aplikasi. 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