网站/小程序/APP个性化定制开发,二开,改版等服务,加扣:8582-36016

安装

使用 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 语言的编程风格及流程,为后续更深入的学习打下基础。

评论 0

暂无评论
0
0
0
立即
投稿
发表
评论
返回
顶部