Rumah > Artikel > rangka kerja php > Cipta aplikasi web peringkat perusahaan yang lengkap melalui ThinkPHP6
Dalam bidang pembangunan aplikasi web semasa, banyak aplikasi web peringkat perusahaan dilaksanakan menggunakan bahasa PHP. Antaranya, rangka kerja ThinkPHP adalah salah satu perintis dalam pembangunan rangka kerja PHP domestik Setelah bertahun-tahun pembangunan dan penambahbaikan, ia telah menjadi salah satu rangka kerja PHP yang paling popular di China. Artikel ini akan membina aplikasi Web peringkat perusahaan yang lengkap dari awal melalui pembelajaran dan amalan rangka kerja ThinkPHP6.
1. Pemasangan dan konfigurasi
Pertama, kita perlu memasang PHP dan pangkalan data (MySQL atau lain-lain), serta pengurus pakej komposer dalam persekitaran setempat.
Kedua, muat turun versi terkini rangka kerja ThinkPHP6 dan letakkan fail dalam direktori kerja yang ditentukan. Seterusnya, laksanakan arahan "pemasangan komposer" dalam tetingkap baris arahan untuk memasang perpustakaan bergantung dan pemalam yang diperlukan oleh rangka kerja.
Kemudian, kita perlu mengkonfigurasi projek. Mula-mula, konfigurasikan pembolehubah persekitaran projek ke dalam fail .env dan namakan semula fail .env.example kepada fail .env. Kedua, konfigurasi pangkalan data dan tetapkan maklumat sambungan pangkalan data dalam fail /config/database.php.
Akhir sekali, kita perlu menjalankan perintah "php think migrate:run" dalam direktori akar untuk mencipta jadual pangkalan data dan data awal.
2. Cipta pengawal dan model
Dalam rangka kerja ThinkPHP6, pengawal (Pengawal) digunakan untuk memproses permintaan HTTP dan pemprosesan logik perniagaan utama dikendalikan oleh pengawal. Model ialah kelas yang memperoleh atau menyimpan data dengan mengendalikan pangkalan data.
Dalam contoh ini, kami mencipta pengawal Pengguna dan model Pengguna yang sepadan. Cipta fail User.php dalam folder /app/controller dan tulis kod berikut:
<?php namespace appcontroller; use thinkacadeDb; use thinkacadeRequest; class User { public function getAllUser() { $userList = Db::table('user')->select(); return json_encode($userList); } public function getUserById($id) { $user = Db::table('user')->where('id', $id)->find(); return json_encode($user); } public function addUser() { $data = Request::param(); Db::table('user')->insert($data); return 'Add Successfully'; } public function updateUser($id) { $data = Request::param(); Db::table('user')->where('id', $id)->update($data); return 'Update Successfully'; } public function deleteUser($id) { Db::table('user')->where('id', $id)->delete(); return 'Delete Successfully'; } }
Cipta fail User.php dalam folder /app/model dan tulis kod berikut:
<?php namespace appmodel; use thinkModel; class User extends Model { protected $table = 'user'; }
3. Cipta laluan dan pandangan
Dalam rangka kerja ThinkPHP6, laluan digunakan untuk memetakan URL kepada pengawal dan kaedah yang sepadan, dan paparan digunakan untuk membentangkan pengawal selepas pemprosesan data .
Dalam contoh ini, kami mencipta laluan berikut:
Dalam fail /app/route.php, tulis kod berikut:
<?php use thinkacadeRoute; Route::get('/user', 'User/getAllUser'); Route::get('/user/:id', 'User/getUserById'); Route::post('/user', 'User/addUser'); Route::put('/user/:id', 'User/updateUser'); Route::delete('/user/:id', 'User/deleteUser');
Kemudian, buat folder Pengguna di bawah folder /app/view dan letakkannya dalam folder Cipta fail paparan seperti index.html, edit.html, add.html dan sebagainya.
Dalam fail index.html, kami boleh menyenaraikan semua pengguna. Dalam fail edit.html dan add.html, kami boleh mengedit dan menambah maklumat pengguna.
Akhir sekali, tulis kaedah pemaparan paparan yang sepadan dalam pengawal. Sebagai contoh, dalam pengawal Pengguna, kita boleh menulis kod berikut:
public function all() { return view('index')->assign('userList', Db::table('user')->select()); } public function edit($id) { return view('edit')->assign('user', Db::table('user')->where('id', $id)->find()); } public function add() { return view('add'); }
4. Laksanakan pengesahan pengguna
Dalam aplikasi web peringkat perusahaan, pengesahan pengguna ialah fungsi yang sangat penting. Dalam rangka kerja ThinkPHP6, kami boleh melaksanakan pengesahan pengguna yang mudah dan fleksibel melalui komponen Auth.
Pertama, kita perlu melaksanakan konfigurasi berkaitan pengesahan dalam fail /config/auth.php.
Seterusnya, kita boleh menggunakan log masuk, log keluar, semak dan kaedah lain yang disediakan oleh komponen Auth dalam pengawal untuk membangunkan fungsi pengesahan pengguna. Sebagai contoh, dalam pengawal Pengguna, kita boleh menulis kod berikut:
<?php namespace appcontroller; use appmodelUser as UserModel; use thinkacadeDb; use thinkacadeRequest; use thinkacadeSession; use thinkacadeView; use thinkuthAuth; class User { public function login() { if (Request::isPost()) { $data = Request::param(); if (Auth::attempt(['username' => $data['username'], 'password' => $data['password']])) { Session::flash('success', 'Login successfully.'); return redirect('/index'); } else { Session::flash('error', 'Login failed.'); return view('login'); } } else { return view('login'); } } public function register() { if (Request::isPost()) { $data = Request::param(); $userModel = new UserModel(); $userModel->save($data); return redirect('/login'); } else { return view('register'); } } public function logout() { Auth::logout(); Session::flash('success', 'Logout successfully.'); return redirect('/login'); } public function check() { $user = Auth::user(); if (!$user) { Session::flash('error', 'You are not logged in.'); return redirect('/login'); } return $user; } }
5. Laksanakan antara muka API
Dalam aplikasi web peringkat perusahaan, antara muka API ialah fungsi yang sangat penting. Dalam rangka kerja ThinkPHP6, kami boleh membangunkan antara muka API untuk memenuhi permintaan data dari penghujung panggilan.
Dalam contoh ini, kami mencipta antara muka API berikut:
Dalam pengawal, kita perlu mengendalikan versi antara muka API, jenis permintaan, parameter permintaan, format respons dan kandungan lain yang berkaitan.
Sebagai contoh, dalam pengawal Pengguna, kita boleh menulis kod berikut:
<?php namespace appcontroller; use appmodelUser as UserModel; use thinkacadeDb; use thinkacadeRequest; class User { // ... public function getAllUser() { $userList = Db::table('user')->select(); return json($userList); } public function getUserById($id) { $user = Db::table('user')->where('id', $id)->find(); return json($user); } public function addUser() { $data = Request::param(); Db::table('user')->insert($data); return 'Add Successfully'; } public function updateUser($id) { $data = Request::param(); Db::table('user')->where('id', $id)->update($data); return 'Update Successfully'; } public function deleteUser($id) { Db::table('user')->where('id', $id)->delete(); return 'Delete Successfully'; } }
6. Sebarkan Aplikasi Web
Selepas kami membangunkan aplikasi Web peringkat perusahaan, kami perlu Sebarkan ia ke pelayan untuk diakses oleh pengguna. Semasa proses penempatan khusus, kita perlu memberi perhatian kepada perkara berikut:
IV. Ringkasan
Melalui langkah di atas, kami berjaya menggunakan rangka kerja ThinkPHP6 untuk mencipta aplikasi Web peringkat perusahaan yang lengkap dari awal, dan mempelajari pengetahuan dan Kemahiran yang sepadan. Dalam kerja pembangunan masa hadapan, kami boleh menggunakan teknologi ini secara fleksibel mengikut keadaan tertentu untuk membangunkan aplikasi Web yang lebih baik.
Atas ialah kandungan terperinci Cipta aplikasi web peringkat perusahaan yang lengkap melalui ThinkPHP6. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!