大家好,我是码农先森。
安装
使用 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 route
import (
"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 项目的控制器。
<?php
namespace 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 controller
import "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 项目的模型。
<?php
namespace app\model;
use think\Model;
class User extends Model
{
}
gin_demo 项目的模型。
package model
type 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/
欢迎关注、分享、点赞、收藏、在看,我是码农先森。