2008-09-28 56 views
16

目前我使用PHP來開發Web的幾乎所有東西,但它的語言限制已經開始令我煩惱。但是,由於我開發了一些練習並且維護了一些幫助我很多的PHP庫,所以我不覺得我已經準備好轉換到LISP來丟掉所有的PHP輸出。在所有我可以訪問的服務器上,甚至可能都不可能是常規的LAMP託管帳戶。在同一個應用程序中結合Lisp和PHP代碼

Ergo,我的問題是: LISP代碼是否可以與PHP結合使用?是否有並行LISP/PHP的解決方案,它們的互操作性的接口還是perphaps的實現?或者它是一個相互排斥的選擇?

回答

8

這不是一個相互排斥的選擇,你可以在一個系統上運行,就像perl和php(例如)在許多系統上並排運行一樣。

有一個類似的話題,這表明使用套接字兩種語言之間進行通信的good post here -

如果你想要去的PHP < - > Lisp的路線easyest要做的是使PHP使用套接字與您的Lisp進程進行通信。

http://php.net/manual/en/ref.sockets.php

http://www.sbcl.org/manual/Networking.html

這種方法確實還留給你可能增加的複雜性和維護問題,你在你的項目中有2種語言,但可能是您的特定用例合適。

1

不幸的是,我不能想到任何庫,但是我在類似的情況下,我有PHP代碼,但厭倦了「嘗試」在PHP中編寫邏輯(遊戲邏輯),所以我用PHP套接字連接到Lua,現在我編寫Lua中的所有服務器端邏輯,並使用PHP(LAMP設置)作爲我的前端服務器。

希望有所幫助。

4

一旦你開始在Lisp中開發,你很可能不想用PHP編寫代碼。 (大約80年代以來的新大寫,順便說一下)

Hunchentoot是一個流行的服務器,它可以讓您瞭解將調度程序連接到請求的基本知識。還有在一系列的screencasts on writing a reddit clone LispCast.com

UnCommon Web(聽起來像在PAIP彼得·諾維格的方案描述一個雙關語)是從什麼我可以告訴很大程度上基於延續的想法更完整的框架,很像Seaside爲短暫聊天。

Weblocks是又一個基於continuation的web框架,看起來不錯。作者(在defmacro.org)寫的很好的文章,我喜歡我在Weblocks的示例應用程序中看到的。

+0

沒有牙齒,如咬,但嘟嘟,如按喇叭。 – jfm3 2008-09-28 16:24:00

2

我現在幾乎處於相同的狀況。我身邊有很多PHP,但語言真的開始讓我煩惱。我已經嘗試過不同的語言,但最近在方案上做了很多修改,我正在考慮逐步切換。也許我們應該開始一個用戶組或什麼?

從PHP背景來看,您可能習慣使用HTTP協議的抽象級別。我認爲這實際上使它更容易轉變爲一種新的語言;尤其是一個沒有一個主流框架的地方。通過這種方式,PHP和Lisp社區有一些相似之處(但其他分散的開源平臺也是如此,例如Python和Perl)。

Lisp的一個問題是,有太多可供選擇的問題。我決定我比Common Lisp更喜歡Scheme,以便縮小它的範圍。經過一番試驗後,我現在專注於plt-scheme,這似乎是一個動力最強的方案。除此之外,它還捆綁了一個Web服務器。

1

我建議你試試Weblocks

+0

網址應該是 http://common-lisp.net/project/cl-weblocks/ – Friedrich 2009-10-01 05:31:10

0

對於PHP中正常的網頁開發,Ive製作了一個名爲xilla_tags的庫。

概述here

也有雅各Hanssens bitchware網站一些好的技術。

相關問題