Web アプリケーションのバックエンドとしてStrutsを、フロントエンドとして PHPを使用できますか? はいの場合、どのような影響が考えられますか。
4 に答える
Jordi が言及したように、最初に頭に浮かんだのはQuercus (Resin サーブレット エンジンのメーカーによるもの) です。これは PHP ランタイムの Java 実装であり、PHP から直接 Java オブジェクトにアクセスできるようにすると言われています (私の一部は、「やった、ついに」と言っています)。
一方、私はこの方法でプロジェクトを試してみたいと思っていましたが、コードレベルで統合する本当の理由がない限り、Java EE と PHP の分離を維持するでしょう。
代わりに、 PHP の「フロントエンド」が定義済みの REST または SOAP API (ここでは REST に強い投票) を介して HTTP を介して Struts アプリケーションを呼び出すSOAアプローチを試してみませんか。
http://mydomain.com/rest/this-is-a-method-call?parameter1=foo
Struts を使用して、ビジネス ロジックとデータのみを処理し、プレゼンテーションを完全に無視して、「バックエンド」モデル全体を構築できます。これらの URL を使用して API を公開すると、基本的には REST API を構築することになります (これは、バックエンドへのより大きなアクセスを提供する必要がある場合に、おそらく他のクライアント アプリによって後で役立つ可能性があります)。
PHP アプリケーションは、データベースやネイティブ PHP クラス ライブラリを呼び出すかのように、(おそらく Curl を使用して) REST API を呼び出して、個別に (そしてかなり薄く) ビルドできます。
とにかく、それは私がすることです。ただし、Quercus を使用している場合は、その方法を投稿してください。
Javaについてはよくわかりませんが、少し前にQuercusに出くわしたことを覚えています。これは、PHPコード用の100%Javaインタープリターです。
そうです、JavaアプリにPHPテンプレートを含めることができます。更新:詳細については、Quercus:JavaのPHPを参照してください。
バックエンドとフロントエンドとはどういう意味ですか?
サイトの管理側に Java を使用し、一般に公開される部分に PHP を使用することを意味している場合、あなたを止めるものは何もありません。
つまり、異なる言語で 2 つのアプリケーションを維持する必要があります。
PHP をテンプレート言語として使用し、構造体をミドルウェア (アクションなど) として使用したいということだと思います。
構造体セッションと PHP の間の何らかのブリッジがないわけではなく、答えはノーだと思います。
構造体アクションで java の x を 3 に変更すると言う場合、 <?php echo x ?> などで値を取得することはできず、何らかの方法でその情報をやり取りする必要があります。
提出しても大丈夫だと思います。
ただし、お勧めしません。