Maison  >  Article  >  développement back-end  >  Pratique de développement Beego - de la publication d'un blog au centre commercial en ligne

Pratique de développement Beego - de la publication d'un blog au centre commercial en ligne

王林
王林original
2023-06-23 10:58:451073parcourir

Beego est un framework de développement web basé sur le langage Go. Il est facile à utiliser, efficace, stable et rapide à développer. Il est privilégié et utilisé par de plus en plus de développeurs. Dans cet article, nous expliquerons comment utiliser le framework Beego, de la publication d'un blog à la création d'un centre commercial en ligne.

1. Sortie du blog

  1. Installation et configuration de Beego

Tout d'abord, nous devons installer et configurer le framework Beego dans l'environnement local. Il peut être installé via la commande suivante :

go get -u github.com/astaxie/beego
go get -u github.com/beego/bee

Une fois l'installation terminée, créez un nouveau projet via la commande bee new, comme suit :

bee new blog

Dans le projet généré, le fichier app.conf dans le dossier de configuration est celui de Beego. fichier de configuration principal. Nous pouvons y configurer des ports, des bases de données, des journaux, etc.

  1. Écrire du code

Dans le projet généré, les fichiers du dossier des contrôleurs sont le code du contrôleur de Beego, où nous pouvons écrire la logique métier dont nous avons besoin. Par exemple, nous devons créer un modèle de blog et un contrôleur :

// models/blog.go
type Blog struct {
    Id int
    Title string
    Content string
    Created time.Time
}

// controllers/blog.go
type BlogController struct {
    beego.Controller
}

func (this *BlogController) Get() {
    // 查询所有博客并渲染到页面
    blogs := models.GetAllBlogs()
    this.Data["blogs"] = blogs
    this.TplName = "blog.tpl"
}

func (this *BlogController) Post() {
    // 新建一篇博客
    title := this.GetString("title")
    content := this.GetString("content")

    blog := models.Blog{
        Title:   title,
        Content: content,
        Created: time.Now(),
    }

    models.AddBlog(&blog)

    this.Redirect("/blog", 302)
}

Dans le code ci-dessus, nous créons un modèle Blog et implémentons la logique d'obtention de tous les blogs et d'ajout de nouveaux blogs dans le contrôleur.

  1. Rendu de vue

Beego utilise le moteur de modèle du langage Go pour implémenter le rendu de vue. Les fichiers de vue sont généralement enregistrés dans le dossier des vues. Dans cet exemple, nous pouvons créer un fichier blog.tpl et restituer la page pour afficher la liste des blogs et le formulaire d'ajout de nouveaux blogs :

<!DOCTYPE html>
<html>
<head>
    <title>Blog</title>
</head>
<body>
    <h1>All Blogs</h1>
    {{range .blogs}}
        <h2>{{.Title}}</h2>
        <p>{{.Content}}</p>
        <p>{{.Created}}</p>
    {{end}}
    <h1>New Blog</h1>
    <form method="post" action="/blog">
        <label>Title:</label>
        <input type="text" name="title"/><br/>
        <label>Content:</label>
        <textarea name="content"></textarea>
        <br/>
        <input type="submit" name="submit" value="Submit"/>
    </form>
</body>
</html>

Parmi eux, l'instruction {{range .blogs}} est utilisée pour restituer tous les blogs. dans une boucle, les instructions {{.Title }}, {{.Content}}, {{.Created}} sont utilisées pour restituer des informations spécifiques au blog.

  1. Exécutez le programme

Vous devez créer ou configurer la base de données avant d'exécuter le programme. Vous pouvez définir les informations de connexion à la base de données dans le fichier app.conf. Après avoir terminé la configuration, utilisez la commande suivante pour exécuter le programme :

bee run

Visitez localhost:8080/blog dans le navigateur pour afficher la liste des blogs.

2. Centre commercial en ligne

En plus de la fonction de publication de blog, nous pouvons également utiliser le framework Beego pour développer un centre commercial en ligne. Vous trouverez ci-dessous un exemple simple.

  1. Installation et configuration de Beego

De même, nous devons d'abord installer et configurer le framework Beego dans l'environnement local. Dans cet exemple, nous utilisons la commande suivante pour installer :

go get github.com/astaxie/beego
go get github.com/beego/bee

et créer un nouveau projet via l'abeille. nouvelle commande :

bee new shop

Dans le projet généré, le fichier app.conf dans le dossier config est le fichier de configuration principal de Beego. Nous pouvons y configurer des ports, des bases de données, des journaux, etc.

  1. Écrire du code

Dans le projet généré, les fichiers du dossier des contrôleurs sont le code du contrôleur de Beego, où nous pouvons écrire la logique métier dont nous avons besoin.

// models/goods.go
type Goods struct {
    Id int
    Name string
    Price float64
    Created time.Time
}

// controllers/default.go
type MainController struct {
    beego.Controller
}

func (c *MainController) Get() {
    c.Data["Website"] = "myshop"
    c.Data["Email"] = "myshop@gmail.com"
    c.TplName = "index.tpl"
}

type GoodsController struct {
    beego.Controller
}

func (this *GoodsController) Add() {
    name := this.GetString("name")
    price, _ := this.GetFloat("price", 0.0)

    goods := models.Goods{
        Name:      name,
        Price: price,
        Created: time.Now(),
    }

    models.AddGoods(&goods)

    this.Redirect("/", 302)
}

func (this *GoodsController) GetAll() {
    goods := models.GetAllGoods()
    this.Data["json"] = &goods
    this.ServeJSON()
}

Dans le code ci-dessus, nous avons créé un modèle Goods et implémenté la logique d'obtention de tous les produits et d'ajout de nouveaux produits dans le contrôleur. La logique d'affichage de la page d'accueil est implémentée dans MainController.

  1. Opération de base de données

Lors de l'ajout et de l'obtention de produits, nous devons nous connecter à la base de données, ce qui peut être réalisé via le propre ORM de Beego. Créez un nouveau fichier database.go dans le dossier models pour initialiser la connexion à la base de données :

package models

import (
    "github.com/astaxie/beego/orm"
    _ "github.com/go-sql-driver/mysql"
)

func RegisterDB() {
    orm.RegisterDriver("mysql", orm.DRMySQL)
    orm.RegisterDataBase("default", "mysql", "root:@tcp(127.0.0.1:3306)/shop?charset=utf8", 30)
}

Lors de l'ajout de nouveaux produits et de l'obtention de produits, nous pouvons l'implémenter via le code suivant :

func AddGoods(goods *Goods) (int64, error) {
    if err := orm.NewOrm().Read(&goods); err == nil {
        return 0, errors.New("Goods already exists")
    }
    id, err := orm.NewOrm().Insert(goods)
    return id, err
}

func GetAllGoods() []*Goods {
    var goods []*Goods
    orm.NewOrm().QueryTable("goods").All(&goods)
    return goods
}
  1. Voir le rendu

Beego utilise le Go langage Un moteur de modèle est utilisé pour implémenter le rendu des vues. Les fichiers de vue sont généralement enregistrés dans le dossier des vues. Dans cet exemple, nous pouvons créer un fichier index.tpl pour afficher la page d'accueil du centre commercial en ligne :

<!DOCTYPE html>
<html>
<head>
    <title>{{.Website}}</title>
</head>
<body>
    <h1>Welcome to {{.Website}}!</h1>
    <h2>Add Goods:</h2>
    <form action="/goods/add" method="post">
        <input type="text" name="name">
        <input type="number" name="price" step="0.01">
        <input type="submit" value="Add">
    </form>
    <h2>All Goods:</h2>
    <table border="1">
        <tr>
            <td>Id</td>
            <td>Name</td>
            <td>Price</td>
            <td>Created</td>
        </tr>
        {{range .goods}}
        <tr>
            <td>{{.Id}}</td>
            <td>{{.Name}}</td>
            <td>{{.Price}}</td>
            <td>{{.Created}}</td>
        </tr>
        {{end}}
    </table>
</body>
</html>

Parmi eux, l'instruction {{range .goods}} est utilisée pour restituer tous les produits en boucle.

  1. Exécutez le programme

Après avoir terminé d'écrire le code et le modèle, utilisez la commande suivante pour démarrer le programme :

bee run

Visitez localhost:8080 dans le navigateur pour afficher la page d'accueil du centre commercial en ligne, ajouter des produits et afficher tous les produits. Vous pouvez générer un fichier exécutable autonome en exécutant la commande suivante :

bee pack

Ce qui précède est le processus pratique complet d'utilisation du framework Beego, de la publication d'un blog à un centre commercial en ligne. J'espère que cela sera utile aux développeurs qui apprennent. Beego.

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