Maison  >  Article  >  cadre php  >  modification du produit laravel5.4

modification du produit laravel5.4

WBOY
WBOYoriginal
2023-05-21 09:26:06670parcourir

Avec le développement du e-commerce, la présentation des produits devient de plus en plus importante sur les sites e-commerce. Afin de répondre aux besoins des commerçants, le site Web doit créer une bonne page d'affichage des produits et mettre en œuvre un système de gestion de produits pratique. Dans cet article, nous explorerons comment utiliser Laravel 5.4 pour implémenter la fonction de modification d'un système de gestion de produits.

Connaissances pré-requises

Avant de commencer, nous devons maîtriser les connaissances de base du framework Laravel et du modèle Blade.

  1. Introduction à Laravel

Laravel est un framework web PHP gratuit et open source, écrit en langage PHP et conçu sur la base du pattern MVC (Model - View - Controller). Le framework Laravel fournit de nombreux outils et fonctions pour mettre en œuvre des applications Web efficaces et évolutives.

  1. Introduction aux modèles Blade

Blade est le moteur de modèles de Laravel et est construit sur PHP Blade. Les modèles Blade prennent en charge les extensions, vous permettant d'utiliser des mises en page par défaut, d'enregistrer du code répétitif et d'interagir facilement avec les données backend.

Commencer à implémenter les modifications du produit

Avant d'implémenter les modifications du produit, nous devons nous assurer que l'environnement Laravel et la connexion à la base de données ont été configurés. Ensuite, nous utiliserons le modèle de Laravel pour gérer les données produit en tant qu'objets.

  1. Créer un modèle de produit

Dans Laravel, les modèles sont utilisés pour interagir avec la base de données. Grâce aux gestionnaires d'événements de création et d'événements enregistrés, nous pouvons effectuer certaines opérations avant et après l'enregistrement.

Tout d'abord, exécutez la commande suivante dans la ligne de commande de Laravel pour créer un nouveau modèle :

php artisan make:model Product

Ensuite, nous devons définir le nom de la table et les attributs à remplir dans le modèle. Modifiez le fichier app/Product.php comme suit :

<?php

namespace App;

use IlluminateDatabaseEloquentModel;

class Product extends Model
{
    protected $table = 'products';

    protected $fillable = ['name', 'description', 'price', 'image'];
}

Dans ce modèle, nous définissons le nom de la table comme produits et les attributs attribuables en masse comme nom, description, prix et image.

  1. Créer un contrôleur de produit

Dans Laravel, un contrôleur est une classe utilisée pour gérer les requêtes HTTP. Il peut attribuer les requêtes des utilisateurs à la méthode appropriée et renvoyer des réponses HTTP. Nous devons créer un contrôleur et ajouter des méthodes pour gérer les opérations de modification du produit.

Exécutez la commande suivante dans la ligne de commande pour générer un nouveau contrôleur :

php artisan make:controller ProductController --resource

Cette commande créera un fichier ProductController.php dans le répertoire app/Http/Controllers et générera pour nous des méthodes de ressources RESTful de base (indexer, créer, stocker , afficher, modifier, mettre à jour, détruire).

Nous ajouterons une méthode d'édition au contrôleur pour afficher le formulaire de modification du produit, et une méthode de mise à jour pour traiter les données du formulaire et enregistrer les informations mises à jour sur le produit.

Modifiez le code de app/Http/Controllers/ProductController comme suit :

<?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');
    }
}

Dans la méthode d'édition, nous interrogeons le produit avec l'ID spécifié et le transmettons à la vue, qui restituera les informations sur le produit et fournira un formulaire de modification . Dans la méthode de mise à jour, nous mettons à jour les informations sur le produit et redirigeons vers la page de liste de produits.

  1. Créer un formulaire de modification de produit

Dans Laravel, vous pouvez utiliser le moteur de modèles Blade pour créer des pages Web. Nous allons ensuite créer une vue pour permettre aux utilisateurs de modifier les informations sur le produit.

Créez le fichier resources/views/products/edit.blade.php et ajoutez le code suivant :

{!! 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() !!}

Dans ce modèle, nous utilisons le Form Builder de Laravel pour générer des éléments de formulaire. Dans le modèle, nous utilisons l'objet $product pour restituer les informations sur le produit, lions le formulaire à l'objet modèle via la méthode Form::model() et définissons la méthode de requête pour soumettre les données à PATCH.

Dans le formulaire, nous définissons les champs nom du produit, description, prix et image, et définissons également un bouton de sauvegarde. Lorsque l'utilisateur soumet le formulaire, les données seront soumises à la méthode de mise à jour du produit.

  1. Paramètres d'itinéraire

Dans Laravel, le routage est le mécanisme utilisé pour faire correspondre les URL et les méthodes du contrôleur. Nous devons ajouter des règles de routage pour les méthodes d'édition et de mise à jour.

Ouvrez le fichier routes/web.php et ajoutez le code suivant :

Route::resource('products', 'ProductController');

Route::get('products/{id}/edit', 'ProductController@edit')->name('products.edit');

Route::patch('products/{product}', 'ProductController@update')->name('products.update');

Dans cet extrait de code, nous créons une route de ressources RESTful pour le produit en utilisant la méthode Route::resource du contrôleur de ressources. Ensuite, nous avons ajouté des règles de routage pour la méthode d'édition et la méthode de mise à jour, nous permettant d'accéder à ces méthodes via les URL correspondantes dans le navigateur.

Après avoir effectué les opérations ci-dessus, nous pouvons accéder à la page /products/{id}/edit dans le navigateur pour modifier le produit.

Résumé

Dans cet article, nous avons présenté en détail comment utiliser le framework Laravel 5.4 pour implémenter la fonction de modification de produit.

En créant des modèles et des contrôleurs de produits, en créant des formulaires de modification de produits et en ajoutant des paramètres de routage, nous avons réussi à créer un système de gestion de produits basé sur Laravel et pouvons facilement modifier et gérer les produits.

Les capacités de développement rapide du framework Laravel et la flexibilité du moteur de modèles Blade permettent aux développeurs de créer facilement une application Web pratique, facile à utiliser et complète. Il est fortement recommandé d'utiliser Laravel 5.4 pour développer des applications Web de commerce électronique afin d'offrir une meilleure expérience à la majorité des utilisateurs.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn