Maison cadre php YII Créer une boutique en ligne en utilisant le framework Yii

Créer une boutique en ligne en utilisant le framework Yii

Jun 21, 2023 pm 05:53 PM
在线商城 创建 yii框架

En tant que développeur web, apprendre et pratiquer l'utilisation du framework PHP est sans aucun doute essentiel. Parmi les nombreux frameworks PHP, le framework Yii est un framework efficace, élégant et sécurisé avec une large base d'utilisateurs.

Dans cet article, je vais expliquer comment utiliser le framework Yii pour créer une application de base de centre commercial en ligne. L'application aura des fonctions de base du centre commercial telles que la gestion des utilisateurs, la gestion des produits et les fonctions de panier d'achat. Cette application peut être utilisée comme pratique d'introduction pour les débutants souhaitant apprendre le framework Yii.

Installer Yii Framework

Avant de commencer à utiliser le framework Yii, nous devons d'abord installer le framework. Le framework Yii propose plusieurs méthodes d'installation, la méthode la plus couramment utilisée consiste à installer à l'aide de Composer. Avant l'installation, nous devons confirmer que Composer est installé.

Nous pouvons utiliser la commande suivante pour installer le framework Yii :

composer create-project --prefer-dist yiisoft/yii2-app-basic basic
Copier après la connexion

La commande ci-dessus créera une application de base. Vous pouvez confirmer si le framework Yii est installé avec succès en visitant http://localhost/basic.

Conception de tableaux de données et remplissage des données

Avant de créer une application de centre commercial en ligne, nous devons créer un tableau de données lié au centre commercial et remplir les données. Cet article utilisera MySQL comme base de données et créera les tables de données suivantes :

  • Table utilisateur : stocke les informations utilisateur, telles que le nom d'utilisateur, le mot de passe et l'adresse e-mail, etc.
  • Tableau des produits : stocke les informations sur le produit, telles que le nom, le prix et la description.
  • Tableau de commande : stocke les informations de commande, telles que l'ID utilisateur, l'ID produit, la quantité commandée, etc.
  • Tableau du panier : stocke les informations du panier, telles que l'ID utilisateur, l'ID du produit et la quantité, etc.

L'ajout d'index appropriés aux tables de données ci-dessus peut améliorer l'efficacité des requêtes.

Ce qui suit est l'instruction SQL de création de table pour la table de données ci-dessus :

CREATE TABLE `user` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `username` varchar(255) NOT NULL,
  `password` varchar(255) NOT NULL,
  `email` varchar(255) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE `product` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) NOT NULL,
  `price` float(10,2) NOT NULL,
  `description` varchar(255) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE `order` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `user_id` int(11) NOT NULL,
  `product_id` int(11) NOT NULL,
  `quantity` int(11) NOT NULL,
  PRIMARY KEY (`id`),
  KEY `user_id` (`user_id`),
  KEY `product_id` (`product_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE `cart` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `user_id` int(11) NOT NULL,
  `product_id` int(11) NOT NULL,
  `quantity` int(11) NOT NULL,
  PRIMARY KEY (`id`),
  KEY `user_id` (`user_id`),
  KEY `product_id` (`product_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Copier après la connexion

Maintenant, nous devons remplir les données pour tester l'application. Ajoutez au moins un enregistrement utilisateur à la table utilisateur et au moins un enregistrement produit à la table produit. Nous utiliserons cet utilisateur et ce produit comme données de test pour le reste de cet article.

Création d'un contrôleur utilisateur

Nous commencerons par créer un contrôleur utilisateur. Dans le framework Yii, les contrôleurs sont les composants principaux qui gèrent les requêtes des applications. Le contrôleur est chargé de détecter le type de demande et d'appeler la méthode d'opération de réponse en fonction de la demande.

Maintenant, nous créons le UserController et ajoutons des méthodes d'action de base. Nous utiliserons l'extension yiiwebController pour créer le contrôleur.

Dans Yii, le nom de la classe du contrôleur est généralement suffixé par Controller, ce qui permet de mieux décrire les fonctions implémentées par la classe. Vous trouverez ci-dessous le code de base de la classe UserController :

<?php

namespace appcontrollers;

use yiiwebController;

class UserController extends Controller
{
    public function actionIndex()
    {
        return $this->render('index');
    }

    public function actionLogin()
    {
        // code for login logic
    }

    public function actionRegister()
    {
        // code for registration logic
    }
}
Copier après la connexion

Dans le code ci-dessus, nous avons ajouté trois méthodes de fonctionnement de base. La méthode actionIndex() restituera le fichier de vue index.php. Il s'agit du nom de la méthode d'action par défaut. Les méthodes actionLogin() et actionRegister() seront utilisées pour la connexion et l'enregistrement des utilisateurs.

Maintenant, nous devons créer le fichier de vue index.php. Les fichiers de vue sont la sortie des méthodes d'action dans le contrôleur. Nous utiliserons la méthode Yii::$app->view->render() fournie par le framework Yii pour restituer la vue.

Créez le fichier index.php dans le dossier vues/utilisateur et ajoutez le code suivant :

<?php

use yiihelpersHtml;

$this->title = 'User';
$this->params['breadcrumbs'][] = $this->title;
?>
<h1><?= Html::encode($this->title) ?></h1>
<p>
Welcome to the user homepage.
</p>
Copier après la connexion

Le code ci-dessus affichera un simple message de bienvenue sur le navigateur.

Création du contrôleur de produit et de la vue

Maintenant, nous allons passer à la création du contrôleur de produit et de la vue. Nous utiliserons l'extension yiidataActiveDataProvider pour obtenir les données de la liste de produits.

Créez le contrôleur ProductController et ajoutez la méthode d'action suivante :

<?php

namespace appcontrollers;

use yiiwebController;
use appmodelsProduct;
use yiidataActiveDataProvider;

class ProductController extends Controller
{
    public function actionIndex()
    {
        $dataProvider = new ActiveDataProvider([
            'query' => Product::find(),
        ]);

        return $this->render('index', [
            'dataProvider' => $dataProvider,
        ]);
    }

    public function actionAddtocart($id)
    {
        // code for add to cart logic
    }
}
Copier après la connexion

Comme indiqué dans le code, nous utilisons d'abord Product::find() pour obtenir tous les produits. Nous plaçons ensuite les données de la liste de produits dans un ActiveDataProvider et les transmettons à la vue. Après cela, nous créons la méthode actionAddtocart() pour ajouter des articles au panier.

Nous devons créer le dossier produit et créer le fichier de vue index.php sous ce dossier. Nous utilisons un widget GridView qui affichera une liste de produits basée sur les données fournies par le dataProvider. Nous ajoutons également un bouton pour ajouter des produits au panier.

Voici le code du fichier views/product/index.php :

<?php

use yiihelpersHtml;
use yiigridGridView;

$this->title = 'Product';
$this->params['breadcrumbs'][] = $this->title;
?>
<h1><?= Html::encode($this->title) ?></h1>

<?= GridView::widget([
    'dataProvider' => $dataProvider,
    'columns' => [
        'id',
        'name',
        'price',
        'description',
        [
            'class' => 'yiigridActionColumn',
            'buttons' => [
                'addtocart' => function ($url, $model) {
                    return Html::a('Add to cart', ['product/addtocart', 'id' => $model->id]);
                }
            ],
            'template' => '{addtocart}',
        ],
    ],
]); ?>
Copier après la connexion

Maintenant, nous pouvons visiter http://localhost/basic/product/index dans le navigateur pour confirmer si la vue est rendue correctement.

Créer un contrôleur et une vue de panier d'achat

Nous avons besoin d'un contrôleur de panier et d'une vue pour gérer les articles ajoutés au panier dans le centre commercial. Nous utiliserons la session pour stocker les données du panier.

Nous créons le contrôleur CartController et ajoutons la méthode d'action suivante :

<?php

namespace appcontrollers;

use yiiwebController;
use Yii;

class CartController extends Controller
{
    public function actionIndex()
    {
        $cart = Yii::$app->session->get('cart');
        return $this->render('index', [
            'cart' => $cart,
        ]);
    }

    public function actionAdd($id)
    {
        // code for add product to cart logic
    }

    public function actionRemove($id)
    {
        // code for remove product from cart logic
    }
}
Copier après la connexion

Dans le code ci-dessus, nous récupérons d'abord les données du panier stockées dans la session. Dans la méthode actionAdd($id), nous ajouterons le produit avec le numéro d'identification spécifié au panier. Dans la méthode actionRemove($id), nous supprimerons du panier l'article portant le numéro d'identification spécifié.

Ensuite, nous devons créer le dossier cart et créer le fichier de vue index.php sous ce dossier. Nous utilisons le widget ListView qui affichera la liste du panier en fonction des données du panier stockées dans la session. Nous avons également ajouté quelques boutons pour augmenter ou diminuer le nombre d'articles dans le panier ou pour supprimer des articles du panier.

Ce qui suit est le code du fichier view/cart/index.php :

<?php

use yiihelpersHtml;
use yiiwidgetsListView;

$this->title = 'Shopping Cart';
$this->params['breadcrumbs'][] = $this->title;
?>
<h1><?= Html::encode($this->title) ?></h1>

<?= ListView::widget([
    'dataProvider' => $dataProvider,
    'itemView' => '_cart_item',
    'emptyText' => 'Your cart is empty.',
]) ?>
Copier après la connexion

在views/cart文件夹下创建_cart_item.php视图文件,该文件将被用于渲染购物车列表中的每一行。以下是views/cart/_cart_item.php文件的代码:

<?php

use yiihelpersHtml;
use yiiwidgetsActiveForm;

$form = ActiveForm::begin([
    'id' => 'cart-item-' . $model['id'],
]); ?>

<?= Html::a('Remove', ['cart/remove', 'id' => $model['id']]) ?>

<?= $model['name'] ?>

<?= $form->field($model, 'quantity')->textInput(['value' => $model['quantity']]) ?>

<?= Html::submitButton('Update') ?>

<?php ActiveForm::end(); ?>
Copier après la connexion

以上代码将会在浏览器中显示购物车列表,用户可以在该列表中执行增加或减少商品数量的操作,也可以删除购物车中已有商品。

完成在线商城应用程序

现在,我们已经完成了基础的在线商城应用程序,该应用程序拥有用户管理,产品管理和购物车等基础功能。该应用程序可以作为初学者学习和实践Yii框架的入门实践。当然,在实际应用中,我们仍需要添加更多功能来满足商城的需求。

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 de ce site Web
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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Où trouver la courte de la grue à atomide atomique
1 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment créer une constante en Python ? Comment créer une constante en Python ? Aug 29, 2023 pm 05:17 PM

Les constantes et les variables sont utilisées pour stocker les valeurs des données dans la programmation. Une variable fait généralement référence à une valeur qui peut changer dans le temps. Une constante est un type de variable dont la valeur ne peut pas être modifiée lors de l'exécution du programme. Il n'y a que six constantes intégrées disponibles en Python, elles sont False, True, None, NotImplemented, Ellipsis(...) et __debug__. Hormis ces constantes, Python ne dispose d'aucun type de données intégré pour stocker des valeurs constantes. Exemple Un exemple de constante est illustré ci-dessous - False=100 sorties SyntaxError:cannotassigntoFalseFalse est une constante intégrée en Python utilisée pour stocker des valeurs booléennes.

Comment personnaliser votre iPhone sur le dernier iOS 17 Comment personnaliser votre iPhone sur le dernier iOS 17 Sep 21, 2023 am 08:17 AM

Comment personnaliser les appels sur iPhone L'iOS 17 d'Apple introduit une nouvelle fonctionnalité appelée Affiches de contact qui vous permet de personnaliser l'apparence de votre écran d'appel sur votre iPhone. Cette fonctionnalité vous permet de concevoir une affiche en utilisant des photos, des couleurs, des polices et des Memoji sélectionnés comme cartes de contact. Ainsi, lorsque vous passez un appel, votre image personnalisée apparaîtra sur l'iPhone du destinataire exactement comme vous l'aviez imaginé. Vous pouvez choisir de partager votre affiche de contact unique avec tous vos contacts enregistrés ou choisir qui peut la voir. De même, lors d’un échange d’appels, vous verrez également les affiches de contact d’autres personnes. De plus, Apple vous permet de définir des photos de contact spécifiques pour des contacts individuels, en passant des appels à partir de ces contacts.

Comment créer du pixel art dans GIMP Comment créer du pixel art dans GIMP Feb 19, 2024 pm 03:24 PM

Cet article vous intéressera si vous souhaitez utiliser GIMP pour la création de pixel art sous Windows. GIMP est un logiciel d'édition graphique bien connu qui est non seulement gratuit et open source, mais qui aide également les utilisateurs à créer facilement de belles images et de superbes designs. En plus de convenir aussi bien aux concepteurs débutants qu'aux professionnels, GIMP peut également être utilisé pour créer du pixel art, une forme d'art numérique qui utilise les pixels comme seuls éléments de base pour dessiner et créer. Comment créer du pixel art dans GIMP Voici les principales étapes pour créer des images pixel à l'aide de GIMP sur un PC Windows : Téléchargez et installez GIMP, puis lancez l'application. Créez une nouvelle image. Redimensionnez la largeur et la hauteur. Sélectionnez l'outil Crayon. Définissez le type de pinceau sur pixels. installation

Comment créer un dossier sur Realme Phone ? Comment créer un dossier sur Realme Phone ? Mar 23, 2024 pm 02:30 PM

Titre : Guide du débutant Realme Phone : Comment créer des dossiers sur Realme Phone ? Dans la société actuelle, les téléphones portables sont devenus un outil indispensable dans la vie des gens. En tant que marque de smartphones populaire, RealMobile est appréciée des utilisateurs pour son système d'exploitation simple et pratique. Lors de l'utilisation des téléphones Realme, de nombreuses personnes peuvent être confrontées au besoin d'organiser des fichiers et des applications sur le téléphone, et la création de dossiers est un moyen efficace. Cet article explique comment créer des dossiers sur les téléphones Realme pour aider les utilisateurs à mieux gérer le contenu de leur téléphone. Non.

Comment créer une famille avec Gree+ Comment créer une famille avec Gree+ Mar 01, 2024 pm 12:40 PM

De nombreux amis ont exprimé leur souhait de savoir comment créer une famille dans le logiciel Gree+. Voici la méthode de fonctionnement pour vous. Amis qui veulent en savoir plus, venez jeter un œil avec moi. Tout d’abord, ouvrez le logiciel Gree+ sur votre téléphone mobile et connectez-vous. Ensuite, dans la barre d'options en bas de la page, cliquez sur l'option « Mon » à l'extrême droite pour accéder à la page du compte personnel. 2. Après être arrivé sur ma page, il y a une option « Créer une famille » sous « Famille ». Après l'avoir trouvée, cliquez dessus pour entrer. 3. Accédez ensuite à la page pour créer une famille, entrez le nom de famille à définir dans la zone de saisie en fonction des invites, puis cliquez sur le bouton « Enregistrer » dans le coin supérieur droit après l'avoir saisi. 4. Enfin, une invite « enregistrement réussi » apparaîtra au bas de la page, indiquant que la famille a été créée avec succès.

Comment créer un diagramme de Gantt à l'aide de Highcharts Comment créer un diagramme de Gantt à l'aide de Highcharts Dec 17, 2023 pm 07:23 PM

Comment utiliser Highcharts pour créer un diagramme de Gantt nécessite des exemples de code spécifiques. Introduction : Le diagramme de Gantt est un formulaire de diagramme couramment utilisé pour afficher la progression du projet et la gestion du temps. Il peut afficher visuellement l'heure de début, l'heure de fin et la progression de la tâche. Highcharts est une puissante bibliothèque de graphiques JavaScript qui fournit des types de graphiques riches et des options de configuration flexibles. Cet article explique comment utiliser Highcharts pour créer un diagramme de Gantt et donne des exemples de code spécifiques. 1. Tableau haut

Comment créer une affiche de contact pour votre iPhone Comment créer une affiche de contact pour votre iPhone Mar 02, 2024 am 11:30 AM

Dans iOS17, Apple a ajouté une fonctionnalité d'affichage de contacts à ses applications Téléphone et Contacts couramment utilisées. Cette fonctionnalité permet aux utilisateurs de définir des affiches personnalisées pour chaque contact, rendant le carnet d'adresses plus visuel et personnel. Les affiches de contact peuvent aider les utilisateurs à identifier et à localiser des contacts spécifiques plus rapidement, améliorant ainsi l'expérience utilisateur. Grâce à cette fonctionnalité, les utilisateurs peuvent ajouter des images ou des logos spécifiques à chaque contact en fonction de leurs préférences et de leurs besoins, ce qui rend l'interface du carnet d'adresses plus vivante. Apple dans iOS17 offre aux utilisateurs d'iPhone une nouvelle façon de s'exprimer et ajoute une affiche de contact personnalisable. La fonction Contact Poster vous permet d'afficher un contenu unique et personnalisé lorsque vous appelez d'autres utilisateurs d'iPhone. toi

Comment créer une image de code de vérification en utilisant PHP ? Comment créer une image de code de vérification en utilisant PHP ? Sep 13, 2023 am 11:40 AM

Comment créer une image de code de vérification en utilisant PHP ? CAPTCHA est une méthode couramment utilisée pour vérifier si l'utilisateur est un humain et non une machine. Sur les sites Web, nous voyons souvent des images de codes de vérification, qui obligent les utilisateurs à saisir des caractères ou des chiffres aléatoires affichés sur l'image pour effectuer des opérations telles que la connexion, l'enregistrement et les commentaires. Cet article explique comment utiliser PHP pour créer une image de code de vérification et fournit des exemples de code spécifiques. 1. Bibliothèque PHPGD Pour créer une image de code de vérification, nous devons utiliser la bibliothèque GD de PHP. La bibliothèque GD est une extension de traitement d'images.

See all articles