在游戏中! 2.0,可以使用Global
作为记录here。 Global
需要位于默认(空)包中。
我的应用程序中也需要全局变量,其中一些需要可用于Global
中的方法。因此,我把它们放在Global.scala中就像这样:
package object globals {
lazy val foo = Play.maybeApplication.flatMap(_.configuration.getString("foo")).getOrElse("default_value_of_foo")
}
然后我在我的控制器中使用它:
globals.foo
有更好的方法吗?
答案 0 :(得分:1)
我认为这个问题更多是关于通用软件设计而不是Play Framework。如果你真的需要一堆随机属性,为什么不创建自己的对象?
object Configuration {
val timeout = Play.maybeApplication.flatMap(
_.configuration.getString("timeout")
).getOrElse(0))
}
但通常这些值属于正在配置的其他逻辑实体。
答案 1 :(得分:0)
我在使用Global作为我的应用的单身人士时遇到了问题。我认为从控制器访问单例也会遇到一些问题(参见this post)。
但是你可以在你的一个软件包中创建自己的单例,并按照计划进行访问。