質問

現時点では、Web向けに開発するほとんどすべてにPHPを使用していますが、言語の制限に悩まされ始めています。ただし、いくつかのプラクティスを開発し、非常に役立つPHPライブラリを維持しているため、LISPに切り替えてすべてのPHP出力を破棄する準備ができているとは思えません。通常のLAMPホスティングアカウントだけにアクセスできるサーバーでは不可能な場合もあります。

エルゴ、私の質問は: LISPコードをPHP 1と組み合わせることはできますか?サイドバイサイドLISP / PHPのソリューション、それらの相互運用性のためのインターフェース、または一方の実装を他方の実装に過ぎないものはありますか?それとも相互に排他的な選択ですか?

役に立ちましたか?

解決

これは相互に排他的な選択ではありません。perlとphp(たとえば)が多くのシステムで並行して実行されるのと同じ方法で、1つのシステムで両方を実行できます。

同様のトピックに関する良い投稿があります。ソケットを使用して両方の言語間で通信する-

  

PHPにアクセスしたい場合<!> lt;-<!> gt; Lispルーティングは、ソケットを使用してPHPがLispプロセスと通信するようにするのが最も簡単です。

     

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

     

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

このアプローチでは、プロジェクトに2つの言語を使用することで生じる複雑さとメンテナンスの問題が発生する可能性がありますが、特定のユースケースに適している可能性があります。

他のヒント

Lispでの開発を開始した後は、おそらくPHPでコードを記述したくないでしょう。 (ちなみに、80年代頃からの新しい大文字表記)

Hunchentootは、ディスパッチャをリクエストに接続するための基本を提供する人気のあるサーバーです。 LispCast.com

で一連の redditクローンの作成に関するスクリーンキャストがあります。

UnCommon Web (PAIPでのPeter NorvigのSchemeの説明のしゃれのような音)これは、Smalltalkの Seaside によく似た、継続のアイデアに基づいたより完全なフレームワークを伝えることができるものです。

Weblocks は、見栄えの良い継続ベースのWebフレームワークです。著者(defmacro.org)は良い記事を書いており、Weblocksのサンプルアプリで見たものが気に入っています。

現時点では、ほぼ同じ状況にあります。私は自分のベルトの下に多くのPHPを持っていますが、その言語は本当に私をいらいらさせ始めます。私はさまざまな言語を試してみましたが、最近スキームをたくさんいじっていて、徐々に切り替えることを考えています。たぶん、ユーザーグループか何かを始めるべきですか?

PHPのバックグラウンドから来たあなたは、おそらくHTTPプロトコルを抽象レベルで抽象化することに慣れているでしょう。これは実際に新しい言語への移行を容易にするものだと思います。特に、支配的なフレームワークが1つもない場合です。このように、PHPとLispコミュニティにはいくつかの類似点があります(ただし、PythonやPerlなどの他の断片化されたオープンソースプラットフォームも同様です)。

Lispの問題の1つは、非常に多くの選択肢があることです。私はCommon LispよりもSchemeを好むと決めたので、少し絞り込んでいます。いくつかの実験の後、私は現在 plt-scheme に注目しています。勢い。とりわけ、Webサーバーがバンドルされています。

残念ながら、そのためのライブラリは考えられませんが、PHPコードは持っていましたが、<!> quot; trying <!> quot;にうんざりしていた同じような状況にありました。 PHPでロジック(ゲームロジック)をコーディングするため、Luaに接続するためにPHPソケットを使用したため、Luaですべてのサーバーサイドロジックをプログラムし、フロントエンドサーバーとしてPHP(LAMP設定)を使用します。

役立つこと。

PHPでの通常のWebページ開発では、xilla_tagsというライブラリを作成しました。

概要こちら

Jacob Hanssens bitchwareサイトにもいくつかの優れたテクニックがあります。

LispとPHPを組み合わせる興味深いソリューションを調べてください https://github.com/lisphp/lisphp

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top