it-swarm.com.de

WordPress als Backend, Laravel Frontend: Wie verbinde ich Routen?

Ich werde eine Site entwerfen und möchte WordPress dafür verwenden, da die Kunden in der Lage sein möchten, den Inhalt zu bearbeiten, und sie sind nicht sehr auf dem neuesten Stand der Technik, weshalb ich der Meinung bin, dass WordPress als Backend-Editor recht einfach und unkompliziert ist Das könnte eine gute Option sein.

Dann benutze ich es nur als Backend und mische es mit einem Framework wie Laravel oder CakePHP, um den Rest der Arbeit zu erledigen und die Ansichten zu entwerfen.

Denkst du, das wäre eine nette Herangehensweise?

Wenn ich darüber nachdachte, nur WordPress-Themes zu verwenden, bekam ich Probleme, als ich anfing, über das URL-Routing nachzudenken. Ich musste verstehen, welche Vorlagendateien für jede URL aufgerufen werden, mit Formularen umgehen und Touch-/Mobilgeräte im Backend erkennen.

Auf der anderen Seite weiß ich, wie ich damit in anderen PHP Frameworks umgehen muss, daher scheint es mir einfacher zu sein, es dort zu tun.

Haben Sie den Vorteil, nur WordPress für die Site zu verwenden, anstatt ein externes Framework dafür zu verwenden? Gibt es eine Möglichkeit, das Routing-System Laravel mit dem WordPress-Rewrite-System zu verbinden?

2
Alvaro

Die Sache mit WordPress, obwohl es kein ordentliches Routingsystem gibt, macht es im Prinzip den gleichen Vorgang. Die URL-Eingabe wird übernommen und mit einer Reihe von Abfragevariablen abgeglichen.

Das Schöne daran ist, dass es reguläre Ausdrücke für diese nicht ganz bestimmten Routen und viele von ihnen verwendet. Die Gesamtzahl der Regeln schwankt zwischen mindestens hundert und Tausend für eine komplexe Site (dump $wp_rewrite->rules to see).

Dieses System kann durchaus ersetzt werden (es wird wahrscheinlich nicht besonders sauber sein, was jedoch aus Sicht von WP an verrückte Hacks grenzt).

Die Hauptherausforderung besteht darin, dass Sie enormen Aufwand für Feature Parity aufwenden müssten, dh, dass Ihr Router nicht 90% der Dinge kaputt macht, die in WP "nur funktionieren".

Wenn Sie sich keine Sorgen um die Feature-Parität machen, können Sie sehr gut eine kleine Teilmenge davon erstellen und den Rest ignorieren.

PS oder Sie könnten einfach eine WP Site erstellen, wie sie gemacht werden soll. Das funktioniert bei vielen Menschen. :)

3
Rarst

Wenn Sie WordPress mit anderen Frameworks kombinieren, können Sie sich ganz einfach selbst in den Fuß schießen. Wenn Ihre Kunden nur einen Editor wünschen, können Sie tinymce verwenden, ohne das gesamte WordPress-Programm in das Programm zu ziehen. Wenn Sie jedoch den Workflow und die Flexibilität beherrschen, ist es sinnlos, WordPress zu etwas zu machen, das es nicht ist. Es ist wahrscheinlicher, dass beide mehr Zeit als erwartet für die Entwicklung aufwenden und selbst dann etwas produzieren, das Ihre Kunden nicht vollständig zufriedenstellt.

3
Mark Kaplun

Ich habe dies mit Laravel unter Verwendung von wp-api.org, Guzzle, Caching erreicht und CyberDucks Paket ein bisschen erweitert, um meinen Bedürfnissen zu entsprechen. Alle meine Ansichten und mein eigenes Routing.

Bei diesem Ansatz fiel es mir leichter, mir den Administrationsbereich WP als strukturiertes Inhaltsrepository und weniger als CMS für die Seitenverwaltung vorzustellen. Ich habe häufig ACF und meine eigenen Plugins verwendet.

Viele andere WP Plugins würden nicht allzu gut funktionieren, da viele Ausgaben produzieren. Sie müssten entweder einen Weg finden, um diese Ausgabe zu erhalten und sie selbst zu drucken, oder stattdessen Ihre eigenen Funktionen erstellen.

Ich habe dieses Projekt nie gestartet, da für das Projekt ein grundlegender Warenkorb und WooCommerce erforderlich waren. Stattdessen wurde ein benutzerdefiniertes WP -Design verwendet. Aber es war eine großartige Lernerfahrung und hat sehr gut funktioniert, besonders wenn das Caching lief.

Sie müssen dann jedoch zwei Anwendungen warten. Zumindest in meinem Fall war es wirklich nur sinnvoll, wenn ich mehrere Websites oder Apps erstellen wollte, die alle aus dem Inhaltsrepository WP gespeist wurden.

Denkst du, das wäre eine nette Herangehensweise?

Ja, wenn die Anwendung oder Domain dies rechtfertigt. Ich habe es sehr genossen, mein eigenes Routing und meine Ansichten zu verwenden und so viel mehr Kontrolle zu haben. Und ich musste keinen WP Themencode berühren, was ein riesiger Bonus ist.

Haben Sie den Vorteil, nur WordPress für die Site zu verwenden, anstatt ein externes Framework dafür zu verwenden?

Absolut eine Anwendung weniger zu warten und viel weniger Code zu schreiben. Das gesamte Routing ist in WP integriert. Aber Sie sind nicht sicher, wie WP die Dinge weiterleitet, es sei denn, Sie arbeiten wirklich an der Rewrite-Engine und hacken sie auf, was zu Problemen mit anderen Plugins führen kann, die Sie möglicherweise ausführen.

Gibt es eine Möglichkeit, das Routing-System Laravel mit dem WordPress-Rewrite-System zu verbinden?

Ich habe nicht viel damit zu tun, als ob ich eine Umschreibe-/Routenstruktur verwenden müsste, die der von WP ähnlich genug ist. Ich hätte mich erst einmal an WP gehalten. Das Hauptmotiv für mein Projekt war, dass die Routenstruktur meiner Domain einfach nicht mit der von WP zusammenarbeitet.

Es war wirklich nicht schwierig, eine Route (d. H. post/{slug}) einzurichten, um die WP API nach dem {slug} abzufragen und den Inhalt des Posts abzurufen.

0
Steve Jamesson