在 Golang 中像 Laravel 的 Artisan 一樣使用命令列,Goravel 帶你找回熟悉的味道

Bowens發表於2022-04-24

Laravel 中的 Artisan 命令列是這樣

// 建立命令
php artisan make:command SendEmails
// 執行命令
php artisan mail:send
// 使用引數
php artisan mail:send hello
// 使用選項
php artisan mail:send --mail=abc@qq.com

Goravel 中的 Artisan 命令列也一樣

// 建立命令
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 的定義都是滿滿的回憶:

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 開發者快速構建自己的應用。

專案地址:github.com/goravel/goravel

文件地址:www.goravel.dev

0DkNTwOZmj.png!large

本作品採用《CC 協議》,轉載必須註明作者和本文連結
唯有所執,方有所成。

相關文章