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.
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>
menerima: aplikasi/json <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false"><?php<br><br>namespace App\Http\Controllers;<br><br>use Illuminate\Http\Request;<br>use App\Product;<br><br>class ProductsController extends Controller<br>{<br><br> public function index()<br> {<br> return Product::all();<br> }<br><br> public function show(Product $product)<br> {<br> return $product;<br> }<br><br> public function store(Request $request)<br> {<br> $product = Product::create($request->all());<br><br> return response()->json($product, 201);<br> }<br><br> public function update(Request $request, Product $product)<br> {<br> $product->update($request->all());<br><br> return response()->json($product, 200);<br> }<br><br> public function delete(Product $product)<br> {<br> $product->delete();<br><br> return response()->json(null, 204);<br> }<br><br>}<br></pre><div class="contentsignin">Salin selepas log masuk</div></div> 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 () <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">// Include this at the file top:<br>use App\Http\Controllers\ProductsController;<br><br>/**<br>**Basic Routes for a RESTful service:<br>**Route::get($uri, $callback);<br>**Route::post($uri, $callback);<br>**Route::put($uri, $callback);<br>**Route::delete($uri, $callback);<br>**<br>*/<br><br><br>Route::get('products', 'ProductsController@index');<br><br>Route::get('products/{product}', 'ProductsController@show');<br><br>Route::post('products','ProductsController@store');<br><br>Route::put('products/{product}','ProductsController@update');<br><br>Route::delete('products/{product}', 'ProductsController@delete');<br><br><br></pre><div class="contentsignin">Salin selepas log masuk</div></div> 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!