欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 金融 > PHP转Go系列 | ThinkPHP与Gin的使用姿势

PHP转Go系列 | ThinkPHP与Gin的使用姿势

2025/9/24 18:17:10 来源:https://blog.csdn.net/yxhbk/article/details/139706042  浏览:    关键词:PHP转Go系列 | ThinkPHP与Gin的使用姿势

大家好,我是码农先森。

安装

使用 composer 进行项目的创建。

composer create-project topthink/think thinkphp_demo

使用 go mod 初始化项目。

go mod init gin_demo

目录

thinkphp_demo 项目目录结构。

thinkphp_demo
├── LICENSE.txt
├── README.md
├── app
├── composer.json
├── composer.lock
├── config
├── extend
├── public
├── route
├── runtime
├── think
├── vendor
└── view

gin_demo 项目目录结构。

gin_demo/
├── app
│   ├── controller
│   └── model
├── config
├── go.mod
├── go.sum
├── main.go
├── route
│   └── app.go
└── view

路由

thinkphp_demo 项目的路由配置。

<?php
use think\facade\Route;Route::get('/info/', 'index/info');
Route::post('/add/', 'index/add');
Route::post('/edit/', 'index/edit');
Route::post('/del/', 'index/del');

gin_demo 项目的路由配置。

package routeimport ("gin_demo/app/controller""github.com/gin-gonic/gin"
)func InitRoute(r *gin.Engine) {r.GET("/info/", controller.InfoHandle())r.POST("/add/", controller.AddHandle())r.POST("/edit/", controller.EditHandle())r.POST("/del/", controller.DelHandle())
}

控制器

thinkphp_demo 项目的控制器。

<?phpnamespace app\controller;use app\BaseController;class Index extends BaseController
{public function info() {// 这里从模型获取数据return;}public function add(){// 这里向模型添加数据return;}public function edit() {// 这里向模型编辑数据return;}public function del(){// 这里从模型删除数据return;}
}

gin_demo 项目的控制器。

package controllerimport "github.com/gin-gonic/gin"func InfoHandle() gin.HandlerFunc {return func(c *gin.Context) {// 这里从模型获取数据}
}func AddHandle() gin.HandlerFunc {return func(c *gin.Context) {// 这里向模型添加数据}
}func EditHandle() gin.HandlerFunc {return func(c *gin.Context) {// 这里向模型编辑数据}
}func DelHandle() gin.HandlerFunc {return func(c *gin.Context) {// 这里从模型删除数据}
}

模型

thinkphp_demo 项目的模型。

<?phpnamespace app\model;use think\Model;class User extends Model
{}

gin_demo 项目的模型。

package modeltype User struct {ID    int    `json:"id"`Name  string `json:"name"`Age   string `json:"age"`Phone string `json:"phone"`
}// 设置表名
func (User) TableName() string {return "user"
}

总结

虽然语言和框架都不同,但是编程的思想都是一样,同样采用的是 MVC 的编程风格。从框架入手实现一个 CURD 案例,也可以很好的熟悉 Go 语言的编程风格及流程,为后续更深入的学习打下基础。

推荐

PHP 语言中的函数是如此强大、丰富、便利,PHP 程序员转到 Go 语言来,发现很多方法都需要自己封装,很不适应。因此给大家推荐一个很好网站,可以直接通过 PHP 语言中的函数找到对应在 Go 语言中的函数,这简直是转 Go 语言 PHP 程序员的福音,网站地址:https://www.php2golang.com/


欢迎关注、分享、点赞、收藏、在看,我是码农先森。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词