在播放定义全局的最佳方式! 2.0应用程序(Best way to define globals

2019-09-18 06:03发布

在玩游戏! 2.0,可以使用Global作为记录在这里 。 Global需要在默认的(空)封装。

我还需要全局我的应用程序,其中一些需要可在方法Global 。 因此,我把它们放在Global.scala像这样:

package object globals {
  lazy val foo = Play.maybeApplication.flatMap(_.configuration.getString("foo")).getOrElse("default_value_of_foo")
}

然后,我用它在我的控制器是这样的:

globals.foo

有没有更好的办法?

Answer 1:

我认为这个问题更多的是一般的软件设计,比它是关于游戏框架。 如果你真的需要一堆随机性能为什么不创建自己的对象吗?

object Configuration {
    val timeout = Play.maybeApplication.flatMap(
                      _.configuration.getString("timeout")
                      ).getOrElse(0))
}

但通常值属于正在配置一些其他的逻辑实体。



Answer 2:

我不得不使用Global作为我的应用程序一个单独的问题。 我想你一定有一些问题也来访问您的控制器单(见这个职位 )。

但是你可以在你的包之一创建自己的单身主义者和访问它,你打算做。



文章来源: Best way to define globals in a Play! 2.0 application