Beego ist ein Webentwicklungs-Framework, das auf der Go-Sprache basiert. Es ist einfach zu verwenden, effizient, stabil und wird von immer mehr Entwicklern bevorzugt. In diesem Artikel stellen wir vor, wie Sie das Beego-Framework von der Veröffentlichung eines Blogs bis zum Aufbau eines Online-Einkaufszentrums verwenden.
1. Blog-Veröffentlichung
Zuerst müssen wir das Beego-Framework in der lokalen Umgebung installieren und konfigurieren. Es kann mit dem folgenden Befehl installiert werden:
go get -u github.com/astaxie/beego go get -u github.com/beego/bee
Nach Abschluss der Installation erstellen Sie mit dem Befehl bee new ein neues Projekt wie folgt:
bee new blog
Im generierten Projekt gehört die Datei app.conf im Konfigurationsordner Beego Hauptkonfigurationsdatei. Wir können darin Ports, Datenbanken, Protokolle usw. konfigurieren.
Im generierten Projekt sind die Dateien im Controller-Ordner der Controller-Code von Beego, in den wir die Geschäftslogik schreiben können, die wir benötigen. Zum Beispiel müssen wir ein Blog-Modell und einen Controller erstellen:
// 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) }
Im obigen Code erstellen wir ein Blog-Modell und implementieren die Logik zum Abrufen aller Blogs und zum Hinzufügen neuer Blogs im Controller.
Beego verwendet die Go-Sprachvorlagen-Engine, um View-Rendering zu implementieren. View-Dateien werden normalerweise im View-Ordner gespeichert. In diesem Beispiel können wir eine blog.tpl-Datei erstellen und die Seite rendern, um die Blog-Liste und das Formular zum Hinzufügen neuer Blogs anzuzeigen:
<!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>
Unter anderem wird die {{range .blogs}}-Anweisung zum Rendern aller Blogs verwendet In einer Schleife werden die Anweisungen {{.Title }}, {{.Content}} und {{.Created}} verwendet, um bestimmte Blog-Informationen darzustellen.
Sie müssen eine Datenbank erstellen oder konfigurieren, bevor Sie das Programm ausführen. Sie können die Datenbankverbindungsinformationen in der Datei app.conf festlegen. Verwenden Sie nach Abschluss der Konfiguration den folgenden Befehl, um das Programm auszuführen:
bee run
Besuchen Sie localhost:8080/blog im Browser, um die Blogliste anzuzeigen.
2. Online-Einkaufszentrum
Zusätzlich zur Blog-Veröffentlichungsfunktion können wir auch das Beego-Framework verwenden, um ein Online-Einkaufszentrum zu entwickeln. Hier ist ein einfaches Beispiel.
Ebenso müssen wir zuerst das Beego-Framework in der lokalen Umgebung installieren und konfigurieren. In diesem Beispiel verwenden wir den folgenden Befehl zur Installation:
go get github.com/astaxie/beego go get github.com/beego/bee
und erstellen ein neues Projekt über die Biene Neuer Befehl:
bee new shop
Im generierten Projekt ist die Datei app.conf im Konfigurationsordner die Hauptkonfigurationsdatei von Beego. Wir können darin Ports, Datenbanken, Protokolle usw. konfigurieren.
Im generierten Projekt sind die Dateien im Controller-Ordner der Controller-Code von Beego, in den wir die Geschäftslogik schreiben können, die wir benötigen.
// 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() }
Im obigen Code haben wir ein Warenmodell erstellt und die Logik zum Abrufen aller Produkte und zum Hinzufügen neuer Produkte im Controller implementiert. Die Logik zur Anzeige der Homepage ist im MainController implementiert.
Beim Hinzufügen und Erhalten von Produkten müssen wir eine Verbindung zur Datenbank herstellen, was über Beegos eigenes ORM erreicht werden kann. Erstellen Sie eine neue Datenbank.go-Datei im Modellordner, um die Datenbankverbindung zu initialisieren:
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) }
Beim Hinzufügen neuer Produkte und beim Erhalten von Produkten können wir dies über den folgenden Code implementieren:
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 }
Beego verwendet das Go Sprache Zur Implementierung der Ansichtswiedergabe wird eine Vorlagen-Engine verwendet. Ansichtsdateien werden normalerweise im Ansichtenordner gespeichert. In diesem Beispiel können wir eine index.tpl-Datei erstellen, um die Homepage des Online-Einkaufszentrums anzuzeigen:
<!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>
Darunter wird die {{range .goods}}-Anweisung verwendet, um alle Produkte in einer Schleife darzustellen.
Nachdem Sie mit dem Schreiben des Codes und der Vorlage fertig sind, verwenden Sie den folgenden Befehl, um das Programm zu starten:
bee run
Besuchen Sie localhost:8080 im Browser, um die Homepage des Online-Einkaufszentrums anzuzeigen, Produkte hinzuzufügen und alle Produkte anzuzeigen. Sie können eine eigenständige ausführbare Datei generieren, indem Sie den folgenden Befehl ausführen:
bee pack
Das Obige ist der vollständige praktische Prozess der Verwendung des Beego-Frameworks von der Veröffentlichung eines Blogs bis hin zu einem Online-Einkaufszentrum. Ich hoffe, dass es für Entwickler, die lernen, hilfreich ist Beego.
Das obige ist der detaillierte Inhalt vonBeego-Entwicklungspraxis – vom Verlagsblog zum Online-Einkaufszentrum. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!