Technologische Neuigkeiten, Bewertungen und Tipps!

Erstellen eines PHP-basierten Content-Management-Systems

Hinweis: Der folgende Artikel hilft Ihnen dabei: Erstellen eines PHP-basierten Content-Management-Systems

Wenn Sie eine Intranet-Site betreiben möchten, benötigen Sie wahrscheinlich ein Content-Management-System (CMS) – ein Tool zum Organisieren von Dokumenten und zum Verfolgen, was sich wo befindet.

Ich habe in früheren Artikeln eine Vielzahl solcher Systeme behandelt, aber für viele Unternehmen kann es nur eine Lösung geben: ihr eigenes, maßgeschneidertes System zu entwerfen und zu implementieren.

Warum? Es ist nicht so, dass es den Standardsystemen an Funktionen oder Stabilität mangelt. Im Gegenteil, viele wurden in Hunderten von Arbeitsstunden erstellt und werden von Tausenden von Websites und Intranets erfolgreich implementiert.

Aber im Grunde ist es schwierig, eine genaue Vorstellung davon zu haben, wie sie funktionieren. Wenn Sie die Funktionsweise dieser Systeme anpassen möchten, müssen Sie sich oft durch riesige Mengen an (oft schlecht dokumentiertem) Code wühlen, um herauszufinden, was geändert werden muss.

Das Schreiben Ihres eigenen CMS hingegen kann zu einer Lösung führen, die Ihren Anforderungen besser entspricht, besser auf die Bedürfnisse Ihrer Benutzer eingeht und von Ihrem Entwicklungsteam besser verstanden wird.

Wenn Sie die Zeit und das Fachwissen haben, Ihr eigenes internes System zu schreiben, ist dies möglicherweise die bessere Option. Und darauf werde ich mich in dieser Serie einlassen.

Das von uns erstellte System wird mit der Programmiersprache PHP geschrieben, die sich hervorragend für die Entwicklung webbasierter Systeme eignet.

Ich werde MySQL als Datenbankserver verwenden, aber das System wird so geschrieben, dass es die Verwendung alternativer Datenbanken wie PostgreSQL oder SQL Server ermöglicht.

Was wird dieses System also tatsächlich tun? In erster Linie ermöglicht es die einfache Speicherung und Verwaltung des Großteils des Inhalts des Intranets oder der Internetseite in einer Datenbank.

Wir werden auch eine Reihe anderer Funktionen einbinden, die für den Betrieb einer erfolgreichen Website erforderlich sind, wie z. B. die Authentifizierung von Benutzern und die Verwaltung von Dateien.

Für die Programmierung Ihres eigenen CMS sind einige grundlegende PHP-Kenntnisse erforderlich, das meiste, was Sie wissen müssen, wird hier jedoch demonstriert.

Ich gehe davon aus, dass Sie Zugriff auf einen Server mit PHP und ein Datenbanksystem haben. Sobald die Serie abgeschlossen ist, werde ich eine ausgefeilte Version des CMS für jedermann zur Verfügung stellen.

Ich verspreche nicht die große Bandbreite an Fähigkeiten, die in Systemen wie Postnuke, Smarty oder einigen kommerziellen Content-Management-Systemen integriert sind.

Aber es reicht nicht immer aus, nur über viele Funktionen zu verfügen. Diese Serie hilft Ihnen dabei, ein System zu entwickeln, das speziell auf Ihre Bedürfnisse zugeschnitten ist. Damit, lasst uns loslegen …

Planung des CMS

Zunächst planen wir die Funktionsweise unseres PHP-basierten Content-Management-Systems.

In den folgenden Artikeln werde ich zeigen, wie die einzelnen Hauptkomponenten implementiert werden, was zu einem vollständigen System führt.

Der erste Schritt ist eine grundlegende Spezifikation dessen, was unser CMS leisten muss. Dies hängt natürlich von Ihren Bedürfnissen ab:

Inhaltsverwaltung: Die wahrscheinlich wichtigste Funktion des Systems. Es muss Inhalte wie Dokumente und Nachrichten in einer Datenbank speichern und dem Benutzer anzeigen, was er oder sie anfordert.

Damit Redakteure Inhalte hinzufügen, entfernen oder ändern können, ist eine benutzerfreundliche Oberfläche erforderlich.

Benutzerauthentifizierung: Möglicherweise gibt es bestimmte Bereiche des Intranets oder der Internetseite, auf die wir den Zugriff beschränken möchten.

Dies wird zumindest der „Admin“-Bereich sein, in dem der Herausgeber der Website Inhalte hinzufügen, bearbeiten oder ändern kann. Möglicherweise möchten Sie auch, dass Bereiche nur bestimmten Abteilungen oder Mitarbeitern zur Verfügung stehen.

Seiteneinheitlichkeit/Vorlagen: Das System sollte ein einheitliches Erscheinungsbild haben, und dieses Designelement muss vom Logikelement getrennt werden, z. B. sollte die für die Anzeige eines Artikels erforderliche Programmierung davon getrennt werden, wie dieser Artikel (stilistisch) auf der Seite aussieht Bildschirm.

Objekt orientierte Programmierung

PHP unterstützt den Designprozess durch die Unterstützung der objektorientierten Programmierung (OOP).

Bei der Zusammenstellung unseres Systems sind bestimmte Programmierschritte immer wieder erforderlich, wie z. B. Datenbankzugriff, Benutzerauthentifizierung usw.

Um diesen Code sauber und ordentlich zu halten, bündeln wir ihn in PHP-Dateien, die „Klassen“ genannt werden. Wir können dann bei Bedarf Instanzen (oder „Objekte“) dieser Klassen erstellen.

Somit kann die Klasse als Blaupause für eine oder mehrere Instanzen betrachtet werden.

Beispielsweise könnten wir eine Klasse mit Code zum Herstellen einer Verbindung zu einer Datenbank erstellen und dann immer dann eine Instanz dieser Klasse erstellen, wenn wir die Datenbank abfragen müssen.

Wenn dies nicht sofort klar ist, machen Sie sich keine Sorgen, es wird offensichtlicher, wenn wir mit dem Codieren beginnen.

Diese Programmiermethode ermöglicht die Zerlegung eines komplexen Systems in kleinere und einfachere Blöcke, was die Verwaltung, Änderung und Fehlersuche erleichtert.

Betrachten wir nun, wie das System zusammenpassen wird. Dies wird zweifellos angepasst, wenn Sie die Anforderungen für Ihr eigenes System berücksichtigen, aber unten finden Sie eine grundlegende Übersicht:

Systemdiagramm

Wir haben vier Haupt-PHP-Module (oder „Klassen“), die im System weit verbreitet sein werden.

Diese haben die Aufgabe, auf die Datenbank zuzugreifen, dem Benutzer das Hochladen von Dateien auf die Site zu ermöglichen, Vorlagen zu lesen und zu schreiben sowie Benutzer an- und abzumelden.

Diese Klassen „erweitern“ alle eine übergeordnete Klasse namens „systemObject“.

Stellen Sie sich diese vier als unabhängig voneinander vor, aber alle erben alle Daten, die wir in systemObject eingeben.

Diese Technik der Hierarchie ermöglicht es uns, Änderungen vorzunehmen, die sich auf alle vier Systemklassen auswirken, indem wir einfach den Code in der übergeordneten Klasse systemObject hinzufügen oder ändern.

Auch dieses Konzept wird klarer, wenn wir mit dem Codieren beginnen. In der Mitte des Diagramms befinden sich die grundlegenden Bereiche des Verwaltungssystems, und jeder benötigt eine oder mehrere PHP-Seiten, um die erforderlichen Aufgaben auszuführen.

Seien Sie nächsten Monat dabei, wenn wir mit der Implementierung der wichtigsten Kurse für das Content-Management-Mysterium beginnen.

In der Zwischenzeit möchten Sie sich vielleicht mit der objektorientierten PHP-Programmierung vertraut machen und die Anforderungen für Ihre eigene Intranet-Site berücksichtigen.