Beego は Go 言語をベースにした Web 開発フレームワークで、使いやすく、効率的で、安定性が高く、迅速な開発が可能であり、ますます多くの開発者に好まれて使用されています。この記事では、ブログの公開からオンラインモールの構築まで、Beegoフレームワークの使い方を紹介します。
1. ブログ リリース
まず、ローカル環境に Beego フレームワークをインストールして構成する必要があります。次のコマンドを使用してインストールできます:
go get -u github.com/astaxie/beego go get -u github.com/beego/bee
インストールが完了したら、次のように bee new コマンドを使用して新しいプロジェクトを作成します:
bee new blog
生成されたプロジェクトで、app.conf config フォルダー内 このファイルは Beego のメイン構成ファイルで、ポート、データベース、ログなどを構成できます。
生成されたプロジェクトでは、controllers フォルダー内のファイルが Beego のコントローラー コードであり、ここに必要なビジネス ロジックを記述することができます。たとえば、ブログ モデルとコントローラーを作成する必要があります。
// 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) }
上記のコードでは、ブログ モデルを作成し、すべてのブログを取得し、コントローラーに新しいブログを追加するロジックを実装します。
Beego は Go 言語テンプレート エンジンを使用してビュー レンダリングを実装します。ビュー ファイルは通常、views フォルダーに保存されます。この例では、blog.tpl ファイルを作成し、ページをレンダリングして、ブログ リストと新しいブログを追加するためのフォームを表示できます。
<!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>
その中で、{{range .blogs}} ステートメントが使用されます。すべてのブログをループでレンダリングするには、{{.Title}}、{{.Content}}、{{.Created}} ステートメントを使用して特定のブログ情報をレンダリングします。
プログラムを実行する前に、データベースを作成または構成する必要があります。app.conf ファイルでデータベース接続情報を設定できます。構成が完了したら、次のコマンドを使用してプログラムを実行します。
bee run
ブラウザで localhost:8080/blog にアクセスして、ブログ リストを表示します。
2. オンラインモール
ブログ公開機能に加えて、Beegoフレームワークを利用してオンラインモールを開発することもできます。以下に簡単な例を示します。
同様に、最初にローカル環境に Beego フレームワークをインストールして構成する必要があります。この例では、次のコマンドを使用してインストールします。 :
go get github.com/astaxie/beego go get github.com/beego/bee
そして、bee new コマンドで新しいプロジェクトを作成します:
bee new shop
生成されたプロジェクトでは、config フォルダー内の app.conf ファイルが Beego のメイン構成ファイルです。ポート、データベース、ログなどを設定できます。
生成されたプロジェクトでは、controllers フォルダー内のファイルが Beego のコントローラー コードであり、ここに必要なビジネス ロジックを記述することができます。
// 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() }
上記のコードでは、グッズ モデルを作成し、すべての商品を取得し、コントローラーに新しい商品を追加するロジックを実装しました。ホームページを表示するロジックはMainControllerに実装されています。
製品を追加および取得するときは、データベースに接続する必要があります。これは、Beego 独自の ORM を通じて実現できます。 models フォルダーに新しい database.go ファイルを作成して、データベース接続を初期化します。
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) }
新しい製品を追加して製品を取得する場合、次のコードを通じてこれを実現できます:
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 は Go 言語テンプレート エンジンを使用してビュー レンダリングを実装します。ビュー ファイルは通常、views フォルダーに保存されます。この例では、オンライン モールのホームページを表示するためのindex.tpl ファイルを作成できます。
<!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>
このうち、{{range .goods}} ステートメントは、ループ内ですべての商品をレンダリングするために使用されます。
コードとテンプレートの作成が完了したら、次のコマンドを使用してプログラムを開始します:
bee run
Visit localhost:8080 inブラウザで、オンライン モールのホームページを表示し、商品を追加し、すべての商品を表示できます。次のコマンドを実行すると、自己完結型の実行可能ファイルを生成できます:
bee pack
上記は、ブログをオンライン モールに公開するまで、Beego フレームワークを使用する完全な実践的なプロセスです。 Beego を学習している開発者。
以上がBeego開発実践 - ブログ公開からオンラインモールまでの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。