2008-09-02 5 views
2

Kann ich Struts als Backend und PHP als Frontend für eine Webanwendung verwenden? Wenn ja, was könnte das bedeuten?PHP und Java EE Backend

+1

Keine gute Idee. Brauche ein paar Hausaufgaben. –

+0

Diese Frage stammt aus dem Jahr 2008 und es ist kein aktives Benutzerkonto damit verbunden. Vielleicht möchten Sie sich daran erinnern, wenn Sie erwarten, dass jemand eine Antwort akzeptiert ..! –

+0

Erscheint Arjan hat beschlossen, den Titel der Frage grundlos zu bearbeiten ... 4 Jahre lang. Die meiste sinnlose Bearbeitung aller Zeiten. –

Antwort

0

Was meinst du mit Backend und Frontend?

Wenn Sie Java für die Admin-Seite Ihrer Website und PHP für den Teil, den die Öffentlichkeit sehen wird, verwenden, dann gibt es nichts, was Sie daran hindert.

Die Auswirkungen sind, dass Sie zwei Anwendungen in verschiedenen Sprachen pflegen müssen.

0

Ich denke, was du meinst ist, dass Sie PHP als Ihre Templating Sprache und Strukturen als Ihre Middleware (Aktionen usw.) verwenden möchten.

Ich würde imaging würde die Antwort wäre nein, nicht ohne eine Art von Brücke zwischen der Struktur Sitzungen und PHP.

Wenn Sie sagen, ändern Sie x zu 3 in Java in einer Strukturaktion, können Sie nicht einfach gehen <? Php echo x? > oder was auch immer, um den Wert heraus zu bekommen, müssten Sie diese Information irgendwie hin und her übertragen.

Einreichen wäre in Ordnung, würde ich mir vorstellen.

Nicht empfohlen, obwohl.

+0

Eigentlich ist es nicht structs, sein Struts Framework. –

1

Ich weiß nicht viel über Java, aber ich erinnere mich, vor einer Weile in Quercus zu laufen. Es ist ein 100% Java-Interpreter für PHP-Code.

Also ja, Sie könnten PHP-Vorlagen auf Ihrer Java-App haben. Update: siehe Quercus: PHP in Java für weitere Informationen.

3

Die erste Sache, die in den Sinn kam, ist Quercus (von den Herstellern der Resin Servlet-Engine), wie Jordi erwähnt. Es ist eine Java-Implementierung der PHP-Laufzeit und ermöglicht angeblich den direkten Zugriff auf Java-Objekte aus Ihrem PHP (ein Teil von mir sagt "yay, at least").

Auf der anderen Seite, während ich juckte, ein Projekt auf diese Weise zu versuchen, würde ich wahrscheinlich die Trennung zwischen Java EE und PHP behalten, es sei denn, es gab einen wirklichen Grund, auf der Code-Ebene zu integrieren.

Stattdessen versuchen Sie einen SOA Ansatz, wo Ihr PHP "Front-End" über eine definierte REST oder SOAP API (starke Abstimmung für REST hier) über HTTP in die Struts-Anwendung aufruft.

http://mydomain.com/rest/this-is-a-method-call?parameter1=foo 

Sie können Struts verwenden Ihre gesamte „Back-End“ -Modell zu bauen, nur mit Business-Logik und Daten zu tun und vollständig ignoriert Präsentation. Wenn Sie die API mit diesen URLs in Verbindung bringen, bauen Sie im Grunde eine REST-API auf (die später nützlich sein kann, wenn Sie mehr Zugriff auf Ihr Back-End benötigen, möglicherweise durch andere Client-Apps).

Ihre PHP-Anwendung kann separat (und eher dünn) erstellt werden und ruft in der REST-API (vielleicht mit Curl) auf, als ob sie in eine Datenbank oder eine native PHP-Klassenbibliothek aufrufen würde.

Wie auch immer, das würde ich tun. Aber, wenn Sie Quercus verwenden, bitte posten Sie, wie es ging.

+0

Dies sieht wie die beste Antwort (zu einer nicht sehr gut durchdachten Frage tbh) aus - mit einer Form der Adapter-Klasse in PHP, um den Java-Backend-Zugriff einzukapseln. –

+0

Dies war auch ein Opfer des 'Phantom Editor von 4 Jahren' - ein weiterer sinnloser Schnitt. –