Rumah >pembangunan bahagian belakang >Golang >Penjelasan terperinci tentang membangunkan aplikasi web menggunakan rangka kerja Beego

Penjelasan terperinci tentang membangunkan aplikasi web menggunakan rangka kerja Beego

WBOY
WBOYasal
2023-06-03 16:51:131453semak imbas

Dengan peningkatan populariti aplikasi web, pembangun perlu mencari rangka kerja pembangunan yang lebih cekap dan fleksibel. Rangka kerja Beego ialah rangka kerja aplikasi web bahasa Go yang pantas, ringkas dan berskala Ia menyediakan cara untuk membangunkan aplikasi web dengan cepat dan mudah dipelajari dan digunakan. Artikel ini akan memperkenalkan secara terperinci cara menggunakan rangka kerja Beego.

1. Pasang rangka kerja Beego

Untuk menggunakan Beego, anda perlu memasangnya terlebih dahulu. Nasib baik, memasang Beego dalam Go adalah sangat mudah. Taip arahan berikut dalam terminal untuk memasang:

go get github.com/astaxie/beego

Selepas pemasangan selesai, semak laluan ruang kerja Go anda untuk memastikan Beego telah berjaya dipasang di dalamnya.

2. Cipta projek Beego

Dalam Beego, aplikasi dipanggil "projek". Rangka kerja Beego menyediakan alatan untuk mencipta projek baharu untuk membantu anda membuat aplikasi web baharu dengan cepat. Perintahnya adalah seperti berikut:

bee new project_name

Arahan ini akan mencipta projek baharu bernama "project_name" dalam direktori semasa dan memasukkan fail dan struktur direktori yang diperlukan, termasuk projek utama Pergi fail "main.go".

3. Jalankan projek Beego

Selepas mencipta projek, anda boleh terus menggunakan arahan go run untuk memulakannya, seperti yang ditunjukkan di bawah:

cd project_name
go run main.go

Ini akan memulakan aplikasi web dan memulakan pelayan pada port 8080. Taipkan http://localhost:8080 ke dalam penyemak imbas anda dan anda akan melihat "Selamat Datang ke Beego!"

4. Penghalaan dan Pengawal

Dalam Beego, penghalaan dan pengawal ialah dua komponen asas aplikasi web.

Laluan memetakan URL yang diminta kepada fungsi pengawal yang sepadan. Beego boleh memadankan URL penghalaan menggunakan URI, ungkapan biasa dan peraturan tersuai.

Fungsi pengawal mengendalikan permintaan penghalaan dan boleh memaparkan halaman web, mengembalikan data JSON, dsb. Dalam Beego, pengawal mewarisi daripada beego.Controller secara lalai, yang menjadikannya sangat mudah untuk mengakses permintaan dan respons dalam pengawal.

Rangka kerja Beego menggunakan penghalaan untuk memetakan ke fungsi pengawal. Dalam fungsi pengawal, gunakan ini.Ctx untuk mengakses objek permintaan dan respons.

5. Templat

Dalam aplikasi web, reka bentuk antara muka dan data biasanya diasingkan. Untuk memastikan ini berasingan, aplikasi web sering menggunakan enjin templat.

Dalam Beego, enjin templat "html/template" bahasa Go digunakan secara lalai. Templat ditulis menggunakan bahasa penanda yang serupa dengan HTML, membolehkan pembangun menjana halaman HTML secara dinamik.

Dalam Pengawal, lulus laluan templat dalam fungsi pemaparan, dan akhirnya panggil kaedah ini.Render() untuk memaparkan templat.

peta data var[rentetan]antaramuka{}
data = buat(peta[rentetan]antaramuka{})
data["Nama Pengguna"] = "Beego"
Data ini[ "data"] = data
this.TplName = "index.tpl"
this.Render()

6 Pangkalan Data

Menggunakan pangkalan data dalam aplikasi web adalah Sangat biasa. Sistem ORM (Pemetaan Perhubungan Objek) Beego boleh membantu kami melaksanakan operasi pangkalan data dalam aplikasi kami dengan lebih mudah. Dalam Beego, pangkalan data lalai yang digunakan oleh ORM ialah MySQL.

Dalam fail konfigurasi conf/app.conf projek, anda boleh mengubah suai maklumat sambungan maklumat pangkalan data:

Penghala Tapak

appname = test
httpport = 8080
runmode = dev
autorender = false
copyrequestbody = true

Konfigurasi Pangkalan Data

dbhost = 127.0.0.1
dbport = 3306
db > dbpassword = ""
dbname = test
dbprefix =

segoignre = /static

7 Middleware

Dalam Beego, middleware ialah set Kaedah untuk mengendalikan permintaan dan respons yang boleh dilaksanakan sebelum dan selepas permintaan sampai kepada pengendali. Ia boleh digunakan untuk melaksanakan fungsi seperti pengesahan, caching, dll.

Dalam Beego, middleware bertindak sebagai penambah dan boleh membuat pengubahsuaian pada aplikasi tanpa menukar kod sumbernya. Dalam Beego, anda boleh menggunakan fungsi sebelum dan selepas untuk menyediakan perisian tengah.

Contoh fungsi perisian tengah pemintasan:

func ExampleMidWare(handler http.Handler) http.Handler {

fn := func(w http.ResponseWriter, req *http.Request) {
    beego.Debug("ExampleMidWare begin")
    handler.ServeHTTP(w, req)
    beego.Debug("ExampleMidWare end")
}
return http.HandlerFunc(fn)

}

Akhir sekali, gunakan dalam Handler Itu sahaja :

func (ini *MainController) Get() {

result := "Hello Beego !"
this.Ctx.WriteString(result)

}

beego.InsertFilter("/*", beego.BeforeRouter, auth.FilterUser)

beego.InsertFilter("/*", beego.BeforeRouter, ExampleMidWare)

8 Fail statik

Beego boleh mengendalikan fail statik dengan sangat mudah, seperti CSS, JavaScript dan fail imej . Hanya buat direktori fail statik di bawah direktori statik dalam projek anda dan gunakan fungsi StaticDir dalam aplikasi anda.

beego.SetStaticPath("/static", "static")

Gunakan fail statik dalam templat:

e3c646316b33a2abb6e5f1fcf8c2d7a7

Ringkasan

Artikel ini memperkenalkan struktur dan fungsi utama rangka kerja Beego, termasuk Cara menggunakan laluan, pengawal, templat, pangkalan data, perisian tengah, fail statik, dsb. Sama ada anda seorang pemula atau profesional, anda akan menemui alatan yang cekap dan berkuasa di Beego untuk membantu anda membina aplikasi web berkualiti tinggi. Semoga artikel ini dapat membantu anda.

Atas ialah kandungan terperinci Penjelasan terperinci tentang membangunkan aplikasi web menggunakan rangka kerja Beego. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn