对于我的一个简单的应用程序,所有路由都由nginx处理。我只是将php文件放在引用的目录中,它们是服务请求:没有使用框架。我正在尝试将此方案迁移到Scala:我想通过逐步将每个PHP脚本替换为Scala中的一个来实现。
是否有一个php服务器的Scala副本可以自动编译并提供目录下的所有scala文件?因此,当我将代码放入/book/new.scala
,/book/buy.scala
,/user/login/auth.scala
等时,服务器会编译并为相应的请求提供所有代码吗?
答案 0 :(得分:3)
在最严格的技术意义上,Scala可以用作“脚本语言”,但在这种方式下可以合理地完成它是相当有限的。
正如其他人所评论的那样,您应该为Scala应用程序创建一个适当的服务器。有许多选择,从简单和轻量到大和花哨。大多数人使用Java Servlet容器,但有些人实现了自己的HTTP服务器端。
你有很多选择可供选择,但“脚本”确实不是可行的选择。
答案 1 :(得分:2)
您可以查看Lift Framework,并且只能使用框架的endpoint/RESTful部分。通过这种方式,您可以识别对Web服务器的关键请求,并将它们传递给基于Scala的代码。 Lift将管理所有内容的Web服务器部分。
也就是说,这是管理Web应用程序的一种非常奇怪的方式,并且回溯到90年代基于CGI脚本的体系结构。问问自己为什么要在继续之前尝试以这种方式建模,并询问运行两个容器(php和Scala)的难度是否真的值得为了“缓解”迁移而感到麻烦。