Dengan populariti teknologi pemisahan bahagian hadapan dan belakang, semakin ramai pembangun mula cuba menukar projek mereka daripada seni bina MVC tradisional kepada seni bina pemisahan bahagian hadapan dan belakang. Sebagai rangka kerja PHP sumber terbuka, thinkphp juga bertindak balas secara aktif kepada aliran teknologi ini. Artikel ini akan memperkenalkan cara mengkonfigurasi mod pemisahan bahagian hadapan dan belakang thinkphp untuk membantu pembangun menggunakan teknologi ini dalam projek.
Sebelum menggunakan thinkphp untuk mencapai pemisahan bahagian hadapan dan belakang, anda perlu mengkonfigurasi persekitaran terlebih dahulu. Pertama, dalam direktori akar projek, gunakan komposer untuk memasang rangka kerja thinkphp dan masukkan arahan berikut:
composer create-project topthink/think
Kemudian, konfigurasikan hos maya dalam Apache atau Nginx dan tambah projek Direktori akar ditetapkan kepada direktori akar tapak web. Pada masa yang sama, anda juga perlu mendayakan modul tulis semula dalam fail konfigurasi PHP supaya thinkphp boleh menggunakan fungsi penghalaan secara normal.
Dalam thinkphp, konfigurasi penghalaan ialah salah satu langkah utama dan bahagian penting dalam pemisahan bahagian hadapan dan belakang. Dalam direktori projek, cari fail route.php dalam direktori konfigurasi dan bukanya. Kemudian, mengikut keperluan untuk pemisahan bahagian hadapan dan belakang, lakukan konfigurasi berikut:
(1) Tukar konfigurasi penghalaan lalai kepada:
'/' => index/index/index'
Perubahan ini boleh menjadikan halaman yang diakses secara lalai menjadi halaman hadapan dan bukannya halaman belakang.
(2) Tambahkan peraturan penghalaan halaman hujung hadapan dalam konfigurasi penghalaan, contohnya:
'@^/:path$' => 'index/index/index'
Antaranya, :path mewakili laluan muka surat hadapan. Melalui peraturan ini, lompatan penghalaan bahagian hadapan boleh dicapai.
(3) Tambahkan peraturan penghalaan antara muka dalam konfigurasi penghalaan, contohnya:
'@^api/:controller/:action$' => /:action '
Antaranya, :controller mewakili nama controller, dan :action mewakili nama method. Melalui peraturan ini, interaksi data front-end dan back-end boleh dicapai.
Dalam thinkphp, pengawal ialah jambatan yang memisahkan hujung hadapan dan belakang Ia bertanggungjawab untuk memproses permintaan bahagian hadapan, memanggil belakang-. menamatkan API dan mengembalikan data. Dalam direktori konfigurasi, cipta fail api.php dan tambah konfigurasi berikut:
kembali [
'default_return_type' => 'json'
];
Konfigurasi ini jenis pulangan lalai antara muka API boleh dibuat dalam format JSON.
Kemudian, cipta direktori api di bawah direktori projek dan buat direktori v1 di bawah direktori api sebagai nombor versi API. Dalam direktori v1, buat fail pengawal yang sepadan, contohnya:
namespace app pi 1controller;
gunakan thinkController;
class UserController extends Controller{
public function index(){ $data = ['name' => 'Tom', 'age' => '18']; return json($data); }
}
Dalam pengawal ini, data statik digunakan untuk mensimulasikan data hujung belakang dan dikembalikan ke bahagian hadapan dalam format JSON. Pembangun boleh menulis pengawal yang berbeza berdasarkan keperluan sebenar untuk melaksanakan kaedah interaksi data yang berbeza.
Di halaman hujung hadapan, anda perlu mengkonfigurasi yang berikut:
(1) Dalam pembangunan persekitaran, gunakan alat pembungkusan seperti webpack Jana fail statik daripada projek front-end dan letakkannya dalam direktori awam projek thinkphp.
(2) Apabila laluan hujung hadapan melompat, anda perlu menggunakan ajax dan teknologi lain untuk melepasi laluan hujung hadapan ke antara muka hujung belakang.
(3) Apabila berinteraksi dengan antara muka hujung belakang, anda perlu mengikut spesifikasi API RESTful dan menggunakan kata kerja seperti GET, POST dan PUT untuk mengendalikan sumber.
Selepas semua konfigurasi selesai, ujian antara muka boleh dilakukan. Pembangun boleh menggunakan alatan seperti posmen untuk mensimulasikan permintaan penghantaran bahagian hadapan dan melihat hasil yang dikembalikan. Jika data JSON yang dijangka dikembalikan, ini bermakna teknologi pemisahan bahagian hadapan dan belakang telah berjaya digunakan.
Ringkasan
thinkphp ialah rangka kerja PHP yang berkuasa yang menyokong teknologi pemisahan bahagian hadapan dan belakang. Melalui kaedah konfigurasi yang diperkenalkan dalam artikel ini, pembangun boleh menukar projek mereka kepada seni bina dipisahkan bahagian hadapan dan belakang, meningkatkan kebolehselenggaraan, kebolehskalaan dan kebolehgunaan semula projek. Pada masa yang sama, ia juga boleh bertindak balas terhadap persaingan pasaran dan perubahan teknologi dengan lebih fleksibel, meningkatkan daya saing projek dan mengurangkan kos pembangunan.
Atas ialah kandungan terperinci Bagaimana untuk mengkonfigurasi pemisahan thinkphp front-end dan back-end. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!