首頁 > php框架 > Laravel > laravel5.4做商品修改

laravel5.4做商品修改

WBOY
發布: 2023-05-21 09:26:06
原創
698 人瀏覽過

隨著電商的發展,商品展示對於電商網站的重要性越來越突出。為了滿足商家的需求,網站需要打造一個好的商品展示頁面,也需要實現方便的商品管理系統。在本文中,將探討如何使用 Laravel 5.4 來實現一個商品管理系統的修改功能。

前置知識

在開始之前,我們需要掌握 Laravel 框架和 Blade 模板的基礎知識。

  1. Laravel 介紹

Laravel 是一個免費的開源 PHP Web 框架,使用 PHP 語言編寫,基於 MVC 模式(Model - View - Controller)設計。 Laravel 框架提供了許多工具和函數,以實現具有高效性和可擴展性的 Web 應用程式。

  1. Blade 模板介紹

Blade 是 Laravel 的模板引擎,是基於 PHP Blade 建構的。 Blade 模板支援擴展,可讓您使用預設佈局、節省重複的程式碼,並可以輕鬆地與後端資料互動。

開始實作商品修改

在實作商品修改前,我們需要確保已經配置好 Laravel 環境和資料庫連線。接下來,我們將使用 Laravel 的模型來將商品資料作為物件處理。

  1. 建立商品模型

在 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。

  1. 建立商品控制器

在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 方法中,我們更新商品資訊並重新導向到商品清單頁面。

  1. 建立商品修改表單

在 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 方法中。

  1. 路由設定

在 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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板