隨著電商的發展,商品展示對於電商網站的重要性越來越突出。為了滿足商家的需求,網站需要打造一個好的商品展示頁面,也需要實現方便的商品管理系統。在本文中,將探討如何使用 Laravel 5.4 來實現一個商品管理系統的修改功能。
前置知識
在開始之前,我們需要掌握 Laravel 框架和 Blade 模板的基礎知識。
- Laravel 介紹
Laravel 是一個免費的開源 PHP Web 框架,使用 PHP 語言編寫,基於 MVC 模式(Model - View - Controller)設計。 Laravel 框架提供了許多工具和函數,以實現具有高效性和可擴展性的 Web 應用程式。
- Blade 模板介紹
Blade 是 Laravel 的模板引擎,是基於 PHP Blade 建構的。 Blade 模板支援擴展,可讓您使用預設佈局、節省重複的程式碼,並可以輕鬆地與後端資料互動。
開始實作商品修改
在實作商品修改前,我們需要確保已經配置好 Laravel 環境和資料庫連線。接下來,我們將使用 Laravel 的模型來將商品資料作為物件處理。
- 建立商品模型
在 Laravel 中,模型被用於與資料庫的交互作用。透過 creating 事件和 saved 事件處理函數,我們可以在儲存前和儲存後執行某些操作。
首先,在 Laravel 的命令列中執行以下命令建立一個新的模型:
php artisan make:model Product
接下來,我們需要在模型中定義表名和可填充屬性。修改 app/Product.php 檔案如下:
<?php namespace App; use IlluminateDatabaseEloquentModel; class Product extends Model { protected $table = 'products'; protected $fillable = ['name', 'description', 'price', 'image']; }
在這個模型中,我們定義了表名 products,可填入(mass-assignable)屬性為 name、description、price 和 image。
- 建立商品控制器
在Laravel 中,控制器是用於處理HTTP 請求的類,可以將使用者請求指定給恰當的方法並傳回HTTP 回應。我們需要建立一個控制器並添加方法來處理商品的修改操作。
在命令列中執行以下指令產生一個新的控制器:
php artisan make:controller ProductController --resource
這個指令會在app/Http/Controllers 目錄下建立一個ProductController.php 文件,並為我們產生基本的RESTful 資源方法(index、create、store、show、edit、update、destroy)。
我們將在控制器中新增一個 edit 方法來展示商品修改表單,一個 update 方法來處理表單資料和保存更新後的商品資訊。
修改app/Http/Controllers/ProductController 的程式碼如下:
<?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'); } }
在edit 方法中,我們查詢指定ID 的商品並將其傳遞給視圖,視圖將渲染商品資訊和提供一個修改表單。在 update 方法中,我們更新商品資訊並重新導向到商品清單頁面。
- 建立商品修改表單
在 Laravel 中,可以使用 Blade 模版引擎來建立 Web 頁面。下面我們將建立一個視圖來讓使用者修改商品資訊。
建立 resources/views/products/edit.blade.php 文件,加入以下程式碼:
{!! 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() !!}
在這個範本中,我們使用了 Laravel 的 Form Builder 產生表單元素。在範本中,我們使用了 $product 物件來渲染商品訊息,透過 Form::model() 方法將表單與模型物件綁定起來,並將提交資料的請求方法設為 PATCH。
在表單中,我們定義了商品的名稱、描述、價格和圖片字段,同時也設定了保存按鈕。當使用者提交表單後,資料將提交到商品的 update 方法中。
- 路由設定
在 Laravel 中,路由是用來匹配 URL 和控制器方法的機制。我們需要為 edit 和 update 方法新增路由規則。
開啟 routes/web.php 文件,加入以下程式碼:
Route::resource('products', 'ProductController'); Route::get('products/{id}/edit', 'ProductController@edit')->name('products.edit'); Route::patch('products/{product}', 'ProductController@update')->name('products.update');
在這個程式碼片段中,我們使用資源控制器的 Route::resource 方法建立了商品的 RESTful 資源路由。接著,我們為 edit 方法和 update 方法分別新增了路由規則,讓我們可以在瀏覽器中透過對應的 URL 來存取這些方法。
完成以上操作後,我們就可以在瀏覽器中存取 /products/{id}/edit 的頁面,對商品進行修改了。
小結
在本文中,我們詳細介紹如何使用 Laravel 5.4 框架來實現商品的修改功能。
透過建立商品模型和控制器、建立商品修改表單以及新增路由設置,我們成功地創建了一個基於 Laravel 的商品管理系統,並且可以方便地進行商品的修改和管理。
Laravel 框架的快速開發能力和 Blade 模板引擎的靈活性,讓開發者可以輕鬆建立一個方便易用、全功能的 Web 應用程式。強烈建議使用 Laravel 5.4 開發電商 Web 應用程序,以便為廣大用戶提供更好的體驗。
以上是laravel5.4做商品修改的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本文指導建立強大的Laravel Restful Apis。 它涵蓋項目設置,資源管理,數據庫交互,序列化,身份驗證,授權,測試和關鍵的安全性最佳實踐。 解決可伸縮性chall

本文詳細介紹了Laravel實施OAuth 2.0身份驗證和授權。 它涵蓋了使用League/oauth2-server或提供商特定解決方案的軟件包,強調數據庫設置,客戶端註冊,授權服務器Configu

本文討論了使用組件在Laravel中創建和自定義可重複使用的UI元素,從而為組織提供最佳實踐並建議增強包裝。

本文討論了Laravel中的創建和使用自定義刀片指令以增強模板。它涵蓋了定義指令,在模板中使用它們,並在大型項目中管理它們,強調了改進的代碼可重複性和R等好處

本文討論了在雲本地環境中部署Laravel的最佳實踐,重點是可擴展性,可靠性和安全性。關鍵問題包括容器化,微服務,無狀態設計和優化策略。

本文討論了Laravel中的創建和使用自定義驗證規則,提供了定義和實施的步驟。它突出了諸如可重複性和特異性之類的好處,並提供了擴展Laravel驗證系統的方法。

在選擇PHP框架方面,Laravel和Symfony是最受歡迎和廣泛使用的選項之一。每個框架都為桌子帶來了自己的理念,特徵和優勢,使它們適合不同的項目和用例

本文探討了Laravel中最佳的文件上傳和雲存儲策略。 它檢查本地存儲與雲提供商(AWS S3,Google Cloud,Azure,Digitalocean),強調安全性(驗證,消毒,HTTPS)和Performance Opti


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

SublimeText3漢化版
中文版,非常好用

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

Atom編輯器mac版下載
最受歡迎的的開源編輯器

記事本++7.3.1
好用且免費的程式碼編輯器

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),