[我正在使用Play开发项目,对Application
类感到困惑。我在许多代码段中都看到了它,例如:
class Application(silhouette: Silhouette[DefaultEnv]) extends Controller
(source)
但是如果它是通用控制器的任意名称(而不是FooController
,MyController
...使用],或者它具有特殊含义并且由框架以特殊方式处理,则不会。更令人困惑的是,我意识到也有Application
接口(source),具体实现是DefaultApplication
(source),文档中说:
应用程序创建由框架引擎处理。
所以...拥有Application
控制器是什么意思?
这只是一个任意的通用名称作为示例。假设您正在编写文档。作为示例控制器名称,您可以将其命名为Application
,ApplicationController
,MyApp
,MyAppController
或MainController
等。
但是您在播放文档中发现的DefaultApplication
具有意义。它是play.Application
接口(在scala中为play.api.Application
特性)的默认实现,用于管理播放应用程序的环境和状态等。
只要将控制器放在controllers
命名空间下,就可以为控制器命名,例如“ Application”。
顺便说一下,官方播放模板中的默认控制器以前被命名为Application
。我想这就是为什么您看到许多名为Application
的控制器代码段的原因。