beego框架开发投票网站(1) beego基础之运行逻辑

本文档需结合beego官方文档食用

博主也仅仅是边学边记录,不保证内容的正确性,请当做通俗读物来看待

首先 beego是一个基于go语言的框架 其次 beego是一个mvc框架

  • 框架可以理解为对底层又封装了一次
  • mvc的意思是models(模型)views(视图)controllers(控制器)
  • model 可以理解为数据库相关
  • view 可以理解为前端相关
  • controller可以理解为控制器

beego项目运行流程

  • 我对这部分理解十分浅显
  • beego文档感觉还是不太友好
  • 首先运行的是main.go的bee.run
    在main函数之前init()总是优先运行的这是基础知识
    bee.run所做的工作beego文档讲述的十分清晰
    在这里我们只需要知道做了什么工作即可,不认识的名词都没关系,用到了回头看即可beego文档 bee.run
  • bee.run做了很多的准备工作,准备好了后开始监听端口,对内的监听在写文档时我也不知道是干嘛的。

一旦 run 起来之后,我们的服务就监听在两个端口了,一个服务端口 8080 作为对外服务,另一个 8088 端口实行对内监控

  • 监听端口发现用户请求发生变化后
    1.首先查找main中所注册的路由
    2.找到对应的控制器
    3.运行控制器中的处理逻辑,对数据库进行操作,如需返回模板则返回模板

  • 举例 点击登录按钮,你的地址栏变成了8080/login
    监听端口的服务监听到
    在main中寻找注册了login的路由,找到之后根据路由提供的控制器信息找到对应的控制器,控制器返回给浏览器login.html

  • 执行beego项目逻辑的官方解读同样只需要粗浅的知道流程即可

beego对于beego.Run()以及处理逻辑的解读并不友好

  • 没必要在初学阶段就弄懂这些
    继续学下去就会越来越清晰
  • 一方面是初学的时候真的几乎不会弄懂的
  • 另一方面是会有很深的挫败感

编程最重要的是去做 不是吗

留坑

  • 深入beego处理逻辑
原文地址:https://www.cnblogs.com/congccy/p/10762639.html