在 Golang 中像 Laravel 的 Artisan 一样使用命令行,Goravel 带你找回熟悉的味道

2022-04-25 18:00:09 浏览数 (1)

Laravel 中的 Artisan 命令行是这样

代码语言:txt复制
// 创建命令
php artisan make:command SendEmails
// 运行命令
php artisan mail:send
// 使用参数
php artisan mail:send hello
// 使用选项
php artisan mail:send --mail=abc@qq.com

Goravel 中的 Artisan 命令行也一样

代码语言:txt复制
// 创建命令
go run . artisan make:command SendEmails
// 运行命令
go run . artisan mail:send
// 使用参数
go run . artisan mail:send hello
// 使用选项
go run . artisan mail:send --mail abc@qq.com

就连 struct 的定义都是满满的回忆:

代码语言:txt复制
package commands

import (
  "github.com/goravel/framework/contracts/console"
  "github.com/urfave/cli/v2"
)

type SendEmails struct {
}

//Signature The name and signature of the console command.
func (receiver *SendEmails) Signature() string {
  return "emails"
}

//Description The console command description.
func (receiver *SendEmails) Description() string {
  return "Command description"
}

//Extend The console command extend.
func (receiver *SendEmails) Extend() console.CommandExtend {
  return console.CommandExtend{}
}

//Handle Execute the console command.
func (receiver *SendEmails) Handle(c *cli.Context) error {
  return nil
}

熟悉的配方,原来的味道。PHPer 极速切换,Goer 的福音。 欢迎 star 与 issues。

关于 Goravel

Goravel 是一个功能完备、具有良好扩展能力的 Web 应用程序框架。 作为一个起始脚手架帮助 Golang 开发者快速构建自己的应用。

项目地址:https://github.com/goravel/goravel

文档地址:www.goravel.dev

golang横.pnggolang横.png

0 人点赞