Rumah >rangka kerja php >ThinkPHP >Penjelasan terperinci tentang cara thinkPHP memanggil pandangan
ThinkPHP ialah rangka kerja MVC berdasarkan PHP Ia menggunakan corak reka bentuk MVC untuk memisahkan logik perniagaan dan operasi data, menjadikan pembangunan dan penyelenggaraan lebih mudah. Dalam ThinkPHP, paparan ialah lapisan Lihat dalam MVC, yang digunakan untuk memaparkan data kepada pengguna dan dipisahkan daripada pengawal (Pengawal) dan model (Model di bawah kita akan belajar secara terperinci cara memanggil paparan).
1. Cipta Paparan
Dalam ThinkPHP, kita boleh memanggil paparan melalui pengawal (Controller), tetapi sebelum mencipta paparan, kita perlu mencipta pengawal terlebih dahulu.
Kaedah penciptaan pengawal adalah seperti berikut:
<?php namespace app\controller; use think\Controller; class Index extends Controller{ public function index(){ } }
Fungsi pengawal adalah untuk menerima permintaan pengguna, memproses permintaan pengguna dan memisahkan daripada model (Model) dan pandangan (View) untuk melaksanakan Prinsip tanggungjawab tunggal.
Seterusnya, kita perlu memanggil paparan dalam pengawal.
Dalam ThinkPHP, paparan disimpan dalam direktori /application/view/
dan anda boleh mencipta folder dan fail baharu dalam direktori mengikut keperluan. Sebagai contoh, kami mencipta fail /application/view/
baharu dalam direktori index.html
:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>ThinkPHP调用视图示例</title> </head> <body> <h1>欢迎使用ThinkPHP!</h1> </body> </html>
Dalam pengawal, kami boleh memaparkan paparan dengan memanggil kaedah View
kelas fetch
.
<?php namespace app\controller; use think\Controller; class Index extends Controller{ public function index(){ return $this->fetch('index'); } }
Dalam kod di atas, kami memanggil paparan index.html
melalui pengawal dan $this->fetch('index')
mengembalikan kod HTML paparan, yang akhirnya digunakan untuk memaparkan halaman.
Jika kita meletakkan fail index.html
dalam direktori /application/view/index/
, kita boleh memanggil paparan dalam pengawal seperti ini:
return $this->fetch('index/index');
Lihat pemindahan parameter
Kadangkala, kita perlu memaparkan data secara dinamik dalam paparan. Dalam ThinkPHP, kita boleh menghantar data ke paparan dengan menghantar parameter.
Dalam pengawal, kita boleh menggunakan kaedah assign
untuk menghantar data.
<?php namespace app\controller; use think\Controller; class Index extends Controller{ public function index(){ $name = 'ThinkPHP'; $this->assign('name',$name); return $this->fetch('index'); } }
Dalam kod di atas, kami menetapkan pembolehubah $name
kepada ThinkPHP
dan hantarkannya ke paparan.
Dalam paparan, kami boleh memaparkan data yang diluluskan melalui {$name}
.
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>ThinkPHP调用视图示例</title> </head> <body> <h1>欢迎使用{$name}!</h1> </body> </html>
3. Dapatkan data POST dalam paparan
Kadangkala, kita perlu menyerahkan data borang dalam paparan dan menyerahkannya kepada pengawal untuk diproses. Dalam ThinkPHP, kita boleh mengakses data POST melalui kaedah request
.
Dalam paparan, kita boleh membuat borang dan menyerahkan data kepada pengawal melalui POST.
<form method="post" action="<?php echo url('index/add'); ?>"> <input type="text" name="username" placeholder="请输入用户名"> <input type="text" name="password" placeholder="请输入密码"> <button type="submit">提交</button> </form>
Dalam pengawal, kita boleh mendapatkan data POST melalui kaedah request
.
<?php namespace app\controller; use think\Controller; class Index extends Controller{ public function add(){ $username = $this->request->post('username'); $password = $this->request->post('password'); //执行具体的业务逻辑 } }
Dalam kod di atas, kami menggunakan kaedah $this->request->post()
untuk mendapatkan data POST.
Melalui kaedah di atas, kita boleh memanggil pandangan dengan mudah dan memisahkannya daripada pengawal untuk mencapai matlamat seni bina MVC.
Atas ialah kandungan terperinci Penjelasan terperinci tentang cara thinkPHP memanggil pandangan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!