I searched many sites and I saw a lot of sources in GitHub and I haven't found a solution.
I created an MVC website pattern in Golang:
My question is: How to inject config to have everywhere settings and other implemented class that will always be needed (like load speed single page).
One more thing(additionally): Can anyone recommend me a good material or transcribe MVC tricks idea works MVC with Golang (General useful information).
You can have one file called for example MainController where you can make functions for accessing database, sessions, config files and so on. All you have to do really from there is to say something like this for example (inherit stuff from some other controller):
//MyController.go
type App struct {
MainController
}
func (c Application) MyControllerFunc() returnTypeHere(http.Response for example) {
//c.getDatabaseName is function from MainController that reads information from some plain text file or json file or similar
someInfoFromConfigFile = c.getDatabaseName()
var str []string
str = append(str, someInfoFromConfigFile)
//RenderJson is function that render http response as json (Content type plain/json)
return c.RenderJson(str)
}
But if you need mvc I suggest that you use some framework (Revel for example). I am using it all the time. It gives you that basic mvc functionality if you like and all other stuff is really up to you. You keep you business logic in some helpers, models in models file etc.
You can check Revel main controller structure here: https://github.com/revel/revel/blob/master/controller.go
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With