Dengan perkembangan e-dagang, paparan produk menjadi semakin penting kepada laman web e-dagang. Untuk memenuhi keperluan peniaga, laman web perlu mencipta halaman paparan produk yang baik dan melaksanakan sistem pengurusan produk yang mudah. Dalam artikel ini, kami akan meneroka cara menggunakan Laravel 5.4 untuk melaksanakan fungsi pengubahsuaian sistem pengurusan produk.
Pengetahuan pra-syarat
Sebelum kita mula, kita perlu menguasai pengetahuan asas rangka kerja Laravel dan templat Blade.
Laravel ialah rangka kerja web PHP sumber terbuka dan percuma, ditulis dalam bahasa PHP dan direka bentuk berdasarkan corak MVC (Model - View - Controller) . Rangka kerja Laravel menyediakan banyak alat dan fungsi untuk melaksanakan aplikasi web yang cekap dan berskala.
Blade ialah enjin templat Laravel dan dibina pada PHP Blade. Templat bilah menyokong sambungan, membolehkan anda menggunakan reka letak lalai, menyimpan kod berulang dan berinteraksi dengan data hujung belakang dengan mudah.
Mula melaksanakan pengubahsuaian produk
Sebelum melaksanakan pengubahsuaian produk, kita perlu memastikan bahawa persekitaran Laravel dan sambungan pangkalan data telah dikonfigurasikan. Seterusnya, kami akan menggunakan model Laravel untuk mengendalikan data produk sebagai objek.
Dalam Laravel, model digunakan untuk berinteraksi dengan pangkalan data. Melalui penciptaan acara dan pengendali acara yang disimpan, kami boleh melakukan operasi tertentu sebelum dan selepas menyimpan.
Pertama, cipta model baharu dengan melaksanakan arahan berikut pada baris arahan Laravel:
php artisan make:model Product
Seterusnya, kita perlu mentakrifkan nama jadual dan sifat boleh diisi dalam model. Ubah suai fail app/Product.php seperti berikut:
<?php namespace App; use IlluminateDatabaseEloquentModel; class Product extends Model { protected $table = 'products'; protected $fillable = ['name', 'description', 'price', 'image']; }
Dalam model ini, kami mentakrifkan nama jadual sebagai produk dan atribut yang boleh diserahkan secara besar-besaran sebagai nama, perihalan, harga dan imej.
Dalam Laravel, pengawal ialah kelas yang digunakan untuk mengendalikan permintaan HTTP Ia boleh menetapkan permintaan pengguna kepada kaedah yang sesuai dan mengembalikan respons HTTP. . Kita perlu mencipta pengawal dan menambah kaedah untuk mengendalikan operasi pengubahsuaian produk.
Laksanakan arahan berikut pada baris arahan untuk menjana pengawal baharu:
php artisan make:controller ProductController --resource
Arahan ini akan mencipta fail ProductController.php dalam direktori app/Http/Controllers dan menjana sumber RESTful asas kaedah (indeks, cipta, simpan, tunjukkan, edit, kemas kini, musnahkan).
Kami akan menambah kaedah edit pada pengawal untuk memaparkan borang pengubahsuaian produk dan kaedah kemas kini untuk memproses data borang dan menyimpan maklumat produk yang dikemas kini.
Ubah suai kod apl/Http/Controllers/ProductController seperti berikut:
<?php namespace AppHttpControllers; use IlluminateHttpRequest; use AppProduct; class ProductController extends Controller { public function edit($id) { $product = Product::findOrFail($id); return view('products.edit', compact('product')); } public function update(Request $request, $id) { $product = Product::findOrFail($id); $product->update($request->all()); return redirect('/products'); } }
Dalam kaedah edit, kami menanyakan produk dengan ID yang ditentukan dan menyerahkannya kepada paparan, yang akan memaparkan maklumat produk dan menyediakan borang pengubahsuaian. Dalam kaedah kemas kini, kami mengemas kini maklumat produk dan mengubah hala ke halaman senarai produk.
Dalam Laravel, anda boleh menggunakan enjin templat Blade untuk mencipta halaman web. Seterusnya kami akan membuat paparan untuk membolehkan pengguna mengubah suai maklumat produk.
Buat fail resources/views/products/edit.blade.php dan tambahkan kod berikut:
{!! Form::model($product, ['method'=>'PATCH', 'action'=>['ProductController@update', $product->id], 'files'=>true]) !!} <div class="form-group"> {!! Form::label('name', '商品名称') !!} {!! Form::text('name', null, ['class'=>'form-control']) !!} </div> <div class="form-group"> {!! Form::label('description', '商品描述') !!} {!! Form::text('description', null, ['class'=>'form-control']) !!} </div> <div class="form-group"> {!! Form::label('price', '商品价格') !!} {!! Form::text('price', null, ['class'=>'form-control']) !!} </div> <div class="form-group"> {!! Form::label('image', '商品图片') !!} {!! Form::file('image') !!} </div> <div class="form-group"> {!! Form::submit('保存', ['class'=>'btn btn-primary']) !!} </div> {!! Form::close() !!}
Dalam templat ini, kami menggunakan Pembina Borang Laravel untuk menjana elemen borang. Dalam templat, kami menggunakan objek $product untuk memaparkan maklumat produk, mengikat borang pada objek model melalui kaedah Form::model() dan menetapkan kaedah permintaan untuk menyerahkan data kepada PATCH.
Dalam borang, kami mentakrifkan nama, penerangan, harga dan medan imej produk, dan juga menetapkan butang simpan. Apabila pengguna menyerahkan borang, data akan diserahkan kepada kaedah kemas kini produk.
Dalam Laravel, penghalaan ialah mekanisme yang digunakan untuk memadankan URL dan kaedah pengawal. Kami perlu menambah peraturan penghalaan untuk kaedah edit dan kemas kini.
Buka fail route/web.php dan tambah kod berikut:
Route::resource('products', 'ProductController'); Route::get('products/{id}/edit', 'ProductController@edit')->name('products.edit'); Route::patch('products/{product}', 'ProductController@update')->name('products.update');
Dalam coretan kod ini, kami mencipta laluan sumber RESTful untuk produk menggunakan kaedah Route::resource pengawal sumber. Seterusnya, kami menambah peraturan penghalaan untuk kaedah edit dan kaedah kemas kini, membolehkan kami mengakses kaedah ini melalui URL yang sepadan dalam penyemak imbas.
Selepas menyelesaikan operasi di atas, kami boleh mengakses halaman /products/{id}/edit dalam penyemak imbas untuk mengubah suai produk.
Ringkasan
Dalam artikel ini, kami memperkenalkan secara terperinci cara menggunakan rangka kerja Laravel 5.4 untuk melaksanakan fungsi pengubahsuaian produk.
Dengan mencipta model dan pengawal produk, mencipta borang pengubahsuaian produk dan menambahkan tetapan penghalaan, kami berjaya mencipta sistem pengurusan produk berdasarkan Laravel, dan boleh mengubah suai serta mengurus produk dengan mudah.
Keupayaan pembangunan pesat rangka kerja Laravel dan fleksibiliti enjin templat Blade membolehkan pembangun membina aplikasi web berciri penuh yang mudah, mudah digunakan dan berciri penuh. Adalah sangat disyorkan untuk menggunakan Laravel 5.4 untuk membangunkan aplikasi web e-dagang untuk memberikan pengalaman yang lebih baik untuk majoriti pengguna.
Atas ialah kandungan terperinci pengubahsuaian produk laravel5.4. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!