目前我使用PHP几乎所有我为Web开发的东西,但它的语言限制开始让我恼火。但是,当我开发一些实践并维护一些对我有帮助的PHP库时,我觉得我不准备只是切换到LISP丢弃我所有的PHP输出。在我可以访问的所有服务器上,甚至可能无法访问常规的LAMP主机帐户。
Ergo,我的问题是: LISP代码可以与PHP组合吗?是否有针对并行LISP / PHP的解决方案,用于互操作性的接口或perphaps只是针对另一个的实现?或者它是一个互相排斥的选择?
答案 0 :(得分:9)
这不是一个互相排斥的选择,你可以在一个系统上运行,就像perl和php(例如)在许多系统上并行运行一样。
在类似主题上有good post here,建议使用套接字在两种语言之间进行通信 -
如果你想使用PHP< - > Lisp路由,最简单的方法就是让PHP使用套接字与你的Lisp进程通信。
这种方法仍然会让您在项目中使用2种语言时可能会增加复杂性和维护问题,但可能适合您的特定用例。
答案 1 :(得分:5)
一旦开始使用Lisp进行开发,你很可能不想在PHP中编写代码。 (顺便说一句,大约80年代以来的新资本化)
Hunchentoot是一款流行的服务器,它为您提供了将调度程序连接到请求方面的基础知识。在LispCast.com上有一系列screencasts on writing a reddit clone
UnCommon Web(听起来像是Peter Norvig对PAIP中Scheme的描述)是我可以告诉更完整的框架,它基于延续的概念,就像Smalltalk的Seaside一样。
Weblocks是另一个基于继续的Web框架,看起来不错。作者(defmacro.org
)撰写了很好的文章,我喜欢我在Weblocks示例应用程序中看到的内容。
答案 2 :(得分:2)
此刻我的情况几乎相同。我有很多PHP,但语言真的开始惹恼我。我已经尝试了不同的语言,但最近对方案进行了很多修改,我正在考虑逐步转换。也许我们应该启动一个用户组或什么?
来自PHP背景,您可能习惯于使用HTTP协议的精简抽象级别。我认为这实际上更容易转换成新语言;特别是一个没有一个主导框架的地方。通过这种方式,PHP和Lisp社区有一些相似之处(但其他支离破碎的开源平台也是如此,例如Python和Perl)。
Lisp的一个问题是有很多可供选择。我已经决定我更喜欢Scheme而不是Common Lisp,所以缩小了一点。经过一些实验,我现在专注于plt-scheme,这似乎是最具动力的一个方案。除此之外,它还有一个与之捆绑的网络服务器。
答案 3 :(得分:1)
不幸的是我无法想到任何库,但是我处于类似的情况,我有PHP代码,但厌倦了“尝试”PHP中的代码逻辑(游戏逻辑),所以我使用PHP套接字连接到Lua,因此现在我编写Lua中的所有服务器端逻辑并使用PHP(LAMP设置)作为我的前端服务器。
希望有所帮助。
答案 4 :(得分:1)
我建议您试试Weblocks。
答案 5 :(得分:0)
答案 6 :(得分:0)
查看一个有趣的解决方案来组合Lisp和PHP https://github.com/lisphp/lisphp