|版權聲明:本文爲博主原創文章,未經博主允許不得轉載。轉載請附上原鏈接,博客地址:https://blog.csdn.net/sgsgy5
beego框架
1.Beego框架了解
2.beego框架快速入門
1.1beego框架了解
Beego作者:謝孟軍
Beego框架是go語言開發的web框架。
那什麼是框架呢? 就是別人寫好的代碼,我們可以直接使用!這個代碼是專門針對某一個開發方向定製的,例如:我們要做一個網站,利用 beego 框架就能非常快的完成網站的開發,如果沒有框架,每一個細節都需要我們處理,開發速度會大大降低。
go語言的web框架:beego,gin,echo等等,那爲什麼我們選擇beego呢?
第一,beego是中國人開發的,開發文檔比較詳細,beego官網網址: https://beego.me/ 。第二,現在公司裏面用beego的也比較多,比如今日頭條,百度雲盤,騰訊,阿里等。
2.1MVC架構
Beego是MVC架構。MVC 是一種應用非常廣泛的體系架構,幾乎所有的編程語言都會使用到,而且所有的程序員在工作中都會遇到!用 MVC 的方式開發程序,可以讓程序的結構更加合理和清晰。 我們畫圖說明
beego具體是如何內嵌MVC呢?我們搭起環境通過代碼分析。
2.2環境搭建
這裏默認大家已經搭建好了go語言的開發環境。
-
需要安裝Beego源碼和Bee開發工具//sudo apt-get install
$ go get -u -v github.com/astaxie/beego $ go get -u -v github.com/beego/bee
beego源碼大家都瞭解,就是框架的源碼。
Bee開發工具帶有很多Bee命令。比如
bee new
創建項目,bee run
運行項目等。用bee運行項目,項目自帶熱更新:是現在後臺程序常用的一種技術,即在服務器運行期間,可以不停服替換靜態資源。替換go文件時會自動重新編譯。
安裝完之後,bee可執行文件默認存放在GOPATH/bin添加到環境變量中纔可以進行下一步
$ cd ~ $ vim .bashrc //在最後一行插入 export PATH="$GOPATH/bin:$PATH" //然後保存退出 $ source .bashrc
安裝好之後,運行
bee new preojectName
來創建一個項目,注意:通過bee創建的項目代碼都是在$GOPATH/src
目錄下面的生成的項目目錄結構如下:
quickstart |-- conf | `-- app.conf |-- controllers | `-- default.go |-- main.go |-- models |-- routers | `-- router.go |-- static | |-- css | |-- img | `-- js |-- tests | `-- default_test.go |-- views `-- index.tpl
進入項目目錄 執行
bee run
命令,在瀏覽器輸入網址:127.0.0.1:8080,顯示如下:
2.3beego的項目結構分析
quickstart
|-- conf
| `-- app.conf
|-- controllers
| `-- default.go
|-- main.go
|-- models
|-- routers
| `-- router.go
|-- static
| |-- css
| |-- img
| `-- js
|-- tests
| `-- default_test.go
|-- views
`-- index.tpl
conf文件夾:放的是項目有關的配置文件
controllers:存放主要的業務代碼
main.go:項目的入口文件
models:存放的是數據庫有關內容
routers:存放路由文件,路由作用是根據不同的請求指定不同的控制器
static:存放靜態資源,包括圖片,html頁面,css樣式,js文件等
tests:測試文件
**views:**存放視圖有關內容
後面我們重點需要操作的是MVC文件夾,routers文件夾。
2.4Beego快速體驗
前面我們簡單瞭解了 beego初始化的內容,那麼就來個beego的快速體驗吧!
根據上圖所示的步驟,對自己創建的項目進行三步修改,然後在瀏覽器是否能看到修改之後的效果。
如果把你們前面做的靜態網頁放到views文件夾下呢?一個靜態網站是不是就出現啦!有沒有感受到beego開發網站的快捷!
代碼分析
c.Data[“Email”] = "[email protected]"是給視圖傳遞數據,在視圖界面裏面需要用{{ }}加上 . 才能獲取到,比如這行代碼的意思就是,給視圖傳遞,Key爲Email,value爲[email protected] 的數據。在視圖中要通過{{.Email}}就能獲取到value值。
c.TplName = "index.tpl"的作用是指定視圖。這裏面需要注意的是,默認指定的界面是tpl結尾,但是打開這個文件分析,發現還是一個html界面。所以我們也可以用html文件當視圖文件。
通過我們對Beego的快速體驗能夠得出如下結論:
控制器(Controller)的作用
1.能夠給視圖傳遞數據
2.能夠指定視圖
**視圖(View)的作用 **
1.view本質就是個html。所以能在瀏覽器顯示
2.能夠接收控制器傳遞過來的數據