Rumah >pembangunan bahagian belakang >tutorial php >Bina aplikasi React dengan hujung belakang Laravel: Bahagian 1, Laravel 9 API

Bina aplikasi React dengan hujung belakang Laravel: Bahagian 1, Laravel 9 API

Joseph Gordon-Levitt
Joseph Gordon-Levittasal
2025-03-01 09:14:10486semak imbas

Laravel dan React adalah dua teknologi pembangunan web yang popular yang digunakan untuk membina aplikasi web moden. Laravel adalah rangka kerja PHP sisi pelayan, sedangkan React adalah perpustakaan JavaScript sisi klien. Tutorial ini berfungsi sebagai pengenalan kepada kedua -dua Laravel dan bertindak balas, menggabungkan mereka untuk membuat aplikasi web moden. Pelanggan menghantar permintaan ke titik akhir ini, dan pelayan mengembalikan respons. Walau bagaimanapun, pelayan tidak prihatin tentang bagaimana klien memberikan pandangan, yang jatuh dengan sempurna sejajar dengan pemisahan prinsip kebimbangan. Senibina ini membolehkan pemaju untuk membina aplikasi yang mantap untuk web dan juga untuk peranti yang berbeza. Hujung depan akan terdiri daripada komponen yang ditulis dalam React. Kami akan membina aplikasi penyenaraian produk yang bijak. Bahagian pertama tutorial akan memberi tumpuan lebih kepada konsep Laravel dan back-end. Mari kita mulakan.

Pengenalan

Laravel adalah kerangka PHP yang dibangunkan untuk web moden. Ia mempunyai sintaks ekspresif yang memihak kepada konvensyen atas paradigma konfigurasi. Laravel mempunyai semua ciri yang anda perlukan untuk memulakan dengan projek keluar dari kotak. Tetapi secara peribadi, saya suka Laravel kerana ia menjadi perkembangan dengan PHP menjadi pengalaman dan aliran kerja yang sama sekali berbeza. React membantu anda memecah pandangan anda ke dalam komponen di mana setiap komponen menerangkan sebahagian daripada UI aplikasi. Pendekatan berasaskan komponen mempunyai manfaat tambahan dari kebolehgunaan semula komponen dan modulariti.

Mengapa Laravel dan React? Walau bagaimanapun, tidak setiap syarikat memberi pemaju kebebasan untuk menggunakan teknologi pilihan mereka, dan untuk beberapa sebab yang baik. Menggunakan timbunan JavaScript untuk keseluruhan projek adalah norma semasa, tetapi tidak ada yang menghalang anda daripada memilih dua teknologi yang berbeza untuk sisi pelayan dan sisi klien. Cukup baik, sebenarnya. Walaupun Laravel telah mendokumenkan sokongan untuk Vue.js, yang merupakan satu lagi kerangka JavaScript, kami akan menggunakan React untuk bahagian depan kerana ia lebih popular. Juga, jika anda mempunyai pengalaman terdahulu sama ada React atau Laravel, anda akan dapat memanfaatkan sepenuhnya tutorial ini.

Walau bagaimanapun, jika anda baru dalam kerangka kerja, jangan bimbang. Tutorial ini ditulis dari perspektif pemula, dan anda sepatutnya dapat mengejar tanpa banyak masalah. Anda boleh mencari kod sumber untuk tutorial di GitHub. Ini kerana Laravel didasarkan pada PHP dan menggunakan komposer untuk menguruskan semua kebergantungan. Apabila memasang komposer pada mesin anda, pastikan anda memilih pilihan untuk menambahkannya ke pembolehubah persekitaran laluan supaya komposer boleh diakses secara global. 

Sebaik sahaja komposer telah dipasang, anda sepatutnya dapat menghasilkan projek Laravel yang segar seperti berikut:

Jika semuanya berjalan lancar, anda sepatutnya dapat melayani aplikasi anda pada pelayan pembangunan di ProductsController

laluan/api.php

dengan import dan laluan baru.
composer create-project laravel/laravel example-app<br>

Jika anda tidak perasan, saya telah menyuntik contoh produk ke dalam kaedah pengawal. Ini adalah contoh pengikatan tersirat Laravel. Laravel cuba memadankan nama contoh model produk $ produk dengan nama segmen URI {Product} <strong>. Sekiranya perlawanan dijumpai, contoh model produk disuntik ke dalam tindakan pengawal. Jika pangkalan data tidak mempunyai produk, ia mengembalikan ralat 404. Hasil akhirnya adalah sama seperti sebelumnya tetapi dengan kod kurang. </strong>

Buka Postman atau Vs Code dan titik akhir untuk produk harus berfungsi. Pastikan anda mempunyai menerima: aplikasi/json <pre class="brush:php;toolbar:false">&lt;?php&lt;br&gt;&lt;br&gt;namespace App\Http\Controllers;&lt;br&gt;&lt;br&gt;use Illuminate\Http\Request;&lt;br&gt;use App\Product;&lt;br&gt;&lt;br&gt;class ProductsController extends Controller&lt;br&gt;{&lt;br&gt;&lt;br&gt; public function index()&lt;br&gt; {&lt;br&gt; return Product::all();&lt;br&gt; }&lt;br&gt;&lt;br&gt; public function show(Product $product)&lt;br&gt; {&lt;br&gt; return $product;&lt;br&gt; }&lt;br&gt;&lt;br&gt; public function store(Request $request)&lt;br&gt; {&lt;br&gt; $product = Product::create($request-&gt;all());&lt;br&gt;&lt;br&gt; return response()-&gt;json($product, 201);&lt;br&gt; }&lt;br&gt;&lt;br&gt; public function update(Request $request, Product $product)&lt;br&gt; {&lt;br&gt; $product-&gt;update($request-&gt;all());&lt;br&gt;&lt;br&gt; return response()-&gt;json($product, 200);&lt;br&gt; }&lt;br&gt;&lt;br&gt; public function delete(Product $product)&lt;br&gt; {&lt;br&gt; $product-&gt;delete();&lt;br&gt;&lt;br&gt; return response()-&gt;json(null, 204);&lt;br&gt; }&lt;br&gt;&lt;br&gt;}&lt;br&gt;</pre> header didayakan. Sekiranya anda mahu pelayan mengembalikan respons JSON, anda perlu mengubah tingkah laku pengendalian pengecualian lalai. Laravel mempunyai kelas pengendali yang didedikasikan untuk pengendalian pengecualian yang terletak di <strong> App/Exceptions/Handler.php </strong>. Kelas terutamanya mempunyai dua kaedah: <code> laporan () <pre class="brush:php;toolbar:false">// Include this at the file top:&lt;br&gt;use App\Http\Controllers\ProductsController;&lt;br&gt;&lt;br&gt;/**&lt;br&gt;**Basic Routes for a RESTful service:&lt;br&gt;**Route::get($uri, $callback);&lt;br&gt;**Route::post($uri, $callback);&lt;br&gt;**Route::put($uri, $callback);&lt;br&gt;**Route::delete($uri, $callback);&lt;br&gt;**&lt;br&gt;*/&lt;br&gt;&lt;br&gt;&lt;br&gt;Route::get('products', 'ProductsController@index');&lt;br&gt;&lt;br&gt;Route::get('products/{product}', 'ProductsController@show');&lt;br&gt;&lt;br&gt;Route::post('products','ProductsController@store');&lt;br&gt;&lt;br&gt;Route::put('products/{product}','ProductsController@update');&lt;br&gt;&lt;br&gt;Route::delete('products/{product}', 'ProductsController@delete');&lt;br&gt;&lt;br&gt;&lt;br&gt;</pre> dan <code> render () <p>. Kaedah <code>Product $product laporan {product} berguna untuk melaporkan dan peristiwa pengecualian pembalakan, sedangkan kaedah render digunakan untuk mengembalikan respons apabila pengecualian ditemui. Kemas kini kaedah render untuk mengembalikan respons JSON:

composer create-project laravel/laravel example-app<br>

Laravel juga membolehkan kami mengesahkan permintaan HTTP yang masuk menggunakan satu set peraturan pengesahan dan secara automatik mengembalikan respons JSON jika pengesahan gagal. Logik untuk pengesahan akan diletakkan di dalam pengawal. Objek IlluminateHttpRequest menyediakan kaedah mengesahkan yang boleh kita gunakan untuk menentukan peraturan pengesahan. Mari tambahkan beberapa pemeriksaan pengesahan ke kaedah kedai dalam app/http/controllers/productscontroller.php . Walau bagaimanapun, API tidak mempunyai ciri asas seperti pengesahan dan menyekat akses kepada pengguna yang tidak dibenarkan. Laravel mempunyai sokongan out-of-the-box untuk pengesahan, dan membina API kerana ia agak mudah. Saya menggalakkan anda untuk melaksanakan API Pengesahan sebagai latihan. Lihat siaran kedua dalam siri ini di sini:

Atas ialah kandungan terperinci Bina aplikasi React dengan hujung belakang Laravel: Bahagian 1, Laravel 9 API. 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
Artikel sebelumnya:Belajar LaravelArtikel seterusnya:Belajar Laravel