Memandangkan teknologi pembangunan web terus berkembang, kami perlu sentiasa mengemas kini dan menambah baik kit alat kami untuk membina aplikasi web dengan lebih cekap. Dalam hal ini, ThinkPHP dan Laravel adalah dua rangka kerja PHP yang sangat popular. Walaupun kedua-dua rangka kerja adalah pilihan yang sangat baik, apabila ia berkaitan dengan penghalaan, gula sintaksis Laravel menjadikannya lebih mudah untuk difahami dan digunakan, manakala ThinkPHP secara relatifnya lebih tradisional. Tetapi dalam artikel ini, kami akan memperkenalkan cara menggunakan ThinkPHP6 untuk melaksanakan penghalaan gaya Laravel untuk membantu anda membina aplikasi web dengan lebih baik.
Pertama, kita perlu memasang ThinkPHP6 yang terkini. Anda boleh memuat turun versi terkini ThinkPHP dari tapak web rasmi, atau gunakan komposer untuk memasangnya.
composer create-project topthink/think your-project-name
Seterusnya, kita perlu mengubah suai fail konfigurasi penghalaan untuk menjadikan penghalaan ThinkPHP lebih dekat dengan Laravel.
Buka fail route.php dalam direktori konfigurasi Mula-mula kita perlu mengulas definisi laluan lalai, seperti yang ditunjukkan di bawah:
# Route::rule('路由表达式', '路由地址', '请求方法', '路由参数(数组)', '变量规则(数组)'); # Route::rule('hello/:name', 'index/hello'); Route::get('/', function () { return 'Hello, ThinkPHP!'; });
Selepas mengulas laluan lalai, kita boleh menggunakan tanpa nama. penghalaan definisi fungsi.
Route::get('/', function () { return 'Hello, ThinkPHP!'; });
Antaranya, kaedah get mentakrifkan kaedah permintaan HTTP yang digunakan oleh penghalaan, dan anda juga boleh menggunakan pos, letak, padam, dsb.
Seterusnya, kita perlu menentukan parameter penghalaan dalam konfigurasi penghalaan.
Route::get('hello/:name', 'index/hello');
Dalam laluan ini, kami mentakrifkan parameter: nama. Parameter ini boleh ditakrifkan ke dalam kaedah tindakan pengawal dan digunakan sebagai parameter kaedah.
Dalam penghalaan kami, kami juga perlu menggunakan kaedah pengawal, yang serupa dengan definisi penghalaan Laravel.
Laluan yang mentakrifkan kaedah pengawal boleh seperti ini:
use appindexcontrollerIndex; Route::get('hello/:name', [Index::class, 'hello']);
Dalam laluan ini, kami mentakrifkan kaedah helo kelas appindexcontrollerIndex sebagai kaedah tindak balas laluan.
Anda juga boleh menggunakan fungsi penutupan sebagai kaedah tindak balas seperti Laravel.
Route::get('hello/:name', function ($name) { return 'Hello, '.$name.'!'; });
Dalam contoh ini, kami mentakrifkan fungsi penutupan yang menerima parameter nama dan mengembalikan rentetan Hello, nama!
Dalam Laravel, kita boleh menggunakan pengawal sumber untuk mengurus penghalaan sumber. Dalam ThinkPHP6, kami juga boleh menggunakan kaedah yang sama untuk menentukan penghalaan sumber.
Route::resource('posts', Index::class);
Dalam laluan ini, kami menggunakan pengawal sumber untuk menentukan laluan untuk siaran. Ini akan mentakrifkan tujuh laluan berbeza, termasuk indeks, buat, simpan, tunjukkan, edit, kemas kini dan padam.
Anda boleh menentukan kaedah ini dalam kelas appindexcontrollerIndex untuk mengendalikan permintaan yang sepadan.
Cara lain untuk menentukan laluan yang serupa dengan Laravel ialah menggunakan penamaan laluan. Dalam ThinkPHP6, kita boleh menggunakan kaedah nama untuk menentukan nama laluan.
Route::get('hello/:name', [Index::class, 'hello'])->name('hello');
Dalam laluan ini, kami menamakan laluan itu hello. Ini membolehkan kami merujuk laluan dengan lebih sedikit aksara dalam kod kami dan bukannya menggunakan URL laluan secara terus.
$url = route('hello', ['name' => 'world']);
Dalam contoh ini, kami menggunakan fungsi laluan untuk menjana URL laluan bernama hello. Kami juga boleh menjana URL dinamik dengan menghantar tatasusunan parameter ke URL apabila memanggil fungsi.
Ringkasan
Dalam artikel ini, kami memperkenalkan cara menggunakan ThinkPHP6 untuk melaksanakan penghalaan gaya Laravel. Kami mempelajari cara mengubah suai fail konfigurasi penghalaan dan menentukan laluan melalui fungsi tanpa nama dan kaedah pengawal. Kami juga mempelajari cara menggunakan pengawal sumber dan penamaan laluan, membolehkan kami mentakrif dan memanggil laluan dengan lebih jelas. Saya harap artikel ini dapat membantu anda menggunakan ThinkPHP6 dengan lebih baik untuk membina aplikasi web.
Atas ialah kandungan terperinci Bagaimana untuk melaksanakan penghalaan gaya Laravel menggunakan ThinkPHP6. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!