Contentful + PHP
Einführung

Es ist kein Geheimnis, dass die Verwaltung eines alten, monolithischen Content Management Systems (CMS) mit einer Menge Aufwand verbunden ist. Ob es um Skalierbarkeitsprobleme geht oder um die Pflege einer dichten Datenbankarchitektur – eines ist klar: Dafür hat niemand Zeit. Deshalb schlagen wir eine neue Lösung vor: eine API-first, technologieunabhängige Content-Infrastruktur. In diesem Artikel stellen wir die Vorteile der Verwendung von Contentful und einer Content-Infrastruktur für Ihr nächstes PHP-Projekt vor.
Was ist Contentful?
Bevor wir fortfahren, ist es wichtig zu klären, was Sie mit Contentful erhalten. Über unsere Content-Infrastruktur erhalten Sie eine Plattform, die es Entwickler*innen ermöglicht, Content mit API-Aufrufen abzurufen und Editor*innen eine vertraute Web-App zum Erstellen und Verwalten von Content anzubieten. Egal, ob Sie für Wearables, Smartphones oder Web-Apps entwickeln, Ihr Content ist nur einen API-Aufruf entfernt. Und da alles als gehostete Lösung in der Cloud ausgeführt wird, erfordert es weit weniger Wartung als ein herkömmliches PHP-Content-Management-System. So bleibt Ihnen mehr Zeit, um sich auf die Entwicklung großartiger Anwendungen zu konzentrieren.
Unterschiede zwischen Contentful und anderen CMS
Wenn es um PHP-CMS geht, sind Entwickler*innen oft auf WordPress oder Drupal beschränkt. Das Problem mit diesen alten CMS ist, dass sie um eine Art von Content herum erstellt werden und für dessen Anzeige optimiert sind, was in der Regel eine Website ist. Die meisten von ihnen werden zu einfachen Web-Publishing-Tools. Contentful hingegen ist vollständig an Ihre Bedürfnisse angepasst. Sie definieren Ihr eigenes Content-Modell, das unabhängig von jeder Präsentationsschicht ist. Dieses Modell definiert die Arten von Content, die Sie verwalten möchten. Dann können Sie diesen Content nutzen, um ansprechende Erlebnisse zu schaffen, während unser CDN sich rund um die Uhr um die Bereitstellung von Content für Ihre Nutzer*innen kümmert.
Unsere PHP-SDKs
Wir bieten SDKs für gängige Programmiersprachen wie JavaScript, Ruby und natürlich PHP an. Diese SDKs sollen Ihnen als Entwickler*in die Arbeit mit Contentful erleichtern und Ihnen einen nahezu sofortigen Zugriff auf unsere APIs und deren Funktionen ermöglichen.
Content Delivery API (CDA)
Die Content Delivery API (CDA) von Contentful ist eine schreibgeschützte API für die Bereitstellung von Content von Contentful an Apps, Websites und andere Medien, der als JSON-Daten und Mediendateien ankommt. Um mit unserem PHP CDA SDK zu beginnen, stellen Sie sicher, dass Composer auf Ihrem Computer installiert ist. Sie können dann Composer verwenden, um das Content Delivery API (CDA)-SDK zu installieren:
Contentful + PHP / CS1
Fügen Sie dann den Composer-Autoloader oben in Ihrem Projekt hinzu:
Contentful + PHP / CS2
Alle Interaktionen mit dem SDK erfolgen über „Contentful\Delivery\Client“. Um einen neuen Client zu erstellen, müssen Sie ein Zugriffstoken und eine Space-ID an den Konstruktor übergeben. Von dort aus können Sie Ihre Abfrage anpassen, um die entsprechenden Daten zu erhalten.
Hier ist ein Beispiel, in dem Content aus Contentful mithilfe unserer Images API abgerufen wird:
Contentful + PHP / CS3
Und da steckt noch viel mehr dahinter. Wenn Sie tiefer eintauchen möchten, haben wir diesen gesamten Prozess in unserem Tutorial „Erste Schritte“ erklärt.
Content Management API (CMA)
Wir haben kürzlich auch die Beta-Version des PHP SDK für die Content Management API (CMA) von Contentful veröffentlicht. Dies ist eine Lese-/Schreib-API für die Verwaltung von Content. Sie können die CMA für verschiedene Anwendungsfälle verwenden, einschließlich automatischer Importe aus traditionellen CMS wie WordPress oder Drupal und der Erstellung benutzerdefinierter Bearbeitungserfahrungen.
Sobald Sie Composer installiert haben und den Autoloader (wie oben beschrieben) einbinden, können Sie mit dem folgenden Code-Snippet arbeiten, um Content aus Contentful zu verwalten:
Contentful + PHP / CS4
Integrationen mit Symfony- und Laravel-Frameworks
Sie verwenden wahrscheinlich ein Framework für Ihre PHP-Anwendungen – und das aus gutem Grund. Frameworks ermöglichen eine schnelle Skalierung, die Codewartung ist überschaubarer als bei einfachem PHP und Sie können Ihre Zeit in die eigentliche Aufgabe anstatt in die unterstützende Technologie investieren. Keine Sorge, wir erklären Ihnen alles. Contentful bietet Integrationen für zwei der beliebtesten PHP-Frameworks: Symfony und Laravel.
Symfony
Einer unserer PHP-Evangelisten beschrieb das Symfony-Framework einmal als eine ordentliche Suppenbasis. Es besteht aus ausgezeichneten Zutaten (naja, Komponenten) und daraus können Sie jede Art von Suppe (Anwendung) machen, die Sie wollen. Es ist sehr beliebt, auch bei Contentful-Kunden wie Spotify.So konfigurieren Sie Ihren Contentful-Client auf die Symfony-Art:
Contentful + PHP / CS5
Zusammen mit dieser Integration haben wir auch ContentfulBundle eingeführt, eine zusätzliche Zutat, die Sie Ihrer Symfony-basierten Suppe hinzufügen können. Das „ContentfulBundle“ lässt sich in den Symfony Web Profiler integrieren, sodass Sie Fehler und Leistungsprobleme am Integrationspunkt zwischen Ihrer Anwendung und Contentful beheben können.
Damit Sie unser „ContentfulBundle“ in Aktion sehen können, haben wir eine generische Produktkatalog-App erstellt, die mit einem Beispiel-Space über Symfony verbunden ist. Den vollständigen Code finden Sie auf GitHub. Alternativ können Sie unserer Schritt-für-Schritt-Anleitung folgen, um ihn selbst zu erstellen.
Laravel
Laravel ist wahrscheinlich das beliebteste Framework und bezeichnet sich selbst als das „PHP-Framework für Web-Artisans“. Mit seiner sofort einsatzbereiten REST-API-Kompatibilität, der Unterstützung von Unit-Tests und dem Fokus auf die Entwicklungsgeschwindigkeit passt das Framework perfekt zur Contentful Platform.
Die Konfiguration Ihres Contentful-Clients mit Laravel sieht folgendermaßen aus:
Contentful + PHP /. CS6
Um diese Zusammenarbeit zu erleichtern, haben wir das Contentful Laravel Package erstellt. Dieses Paket ermöglicht es PHP-Entwickler*innen, die Contentful-API in ihre mit dem Laravel-Framework erstellten Anwendungen zu integrieren. Darüber hinaus haben wir eine Beispiel-Blogging-App mit der Content Delivery API im Rahmen eines ergänzenden Tutorials entwickelt.
Was kommt als Nächstes
Wir entwickeln ständig neue Funktionen und Framework-Integrationen für PHP. Tatsächlich haben wir ein ganzes Team, das sich damit beschäftigt. In der Zwischenzeit können Sie sich auch die Seite Contentful für PHP ansehen, um Tutorials, Beispiel-Apps und weitere Informationen zu anderen Möglichkeiten der Verwendung von PHP mit Contentful zu finden. Wenn Sie bereit sind, direkt loszulegen, erstellen Sie noch heute ein kostenloses Konto und probieren Sie es selbst aus.