CMS: Speichern Sie benutzerdefinierte Seiten als Dateien oder in der MySQL-Datenbank?

8

Ich erstelle ein benutzerdefiniertes CMS in PHP (von Grund auf neu geschrieben) und möchte wissen, ob ich von Benutzern erstellte Seiten als Dateien oder in einer MySQL-Datenbank speichern soll.

Der Inhalt ist alles HTML-Code, zumindest für den Moment.

Ich kann mich nicht entscheiden, was zu tun ist, da das Schreiben von Dateien mit PHP ein Sicherheitsrisiko darstellt und das Abrufen von Dateiinhalten aus MySQL bei jedem Seitenladen sich falsch anfühlt (und ein Leistungsproblem sein könnte).

Ich habe auch benutzerdefinierte Seiten von mir für einen Blog, etc. codiert. Diese enthalten PHP-Code, müssen aber nicht vom Benutzer geändert werden. Derzeit plane ich, diese als PHP-Dateien zu speichern, da es einfacher ist, sie hochzuladen und sie so zu bearbeiten, aber sie könnten auch in MySQL gespeichert werden.

Ich würde jede Hilfe bei der Frage, was das Richtige ist, oder zumindest was Sie tun würden, sehr zu schätzen wissen.

    
Nico Burns 02.08.2010, 01:25
quelle

1 Antwort

11

Sie sollten besser Inhalte in der Datenbank speichern. Beachten Sie, dass Sie Inhalte und nicht die gesamte HTML-Seite speichern (andernfalls erstellen Sie kein Inhalts Verwaltungssystem).

Wenn Sie es mit einfachen Dateien implementiert haben, dann müssten Sie ein Dateiformat zum Speichern Ihrer strukturierten Daten erfinden, Sie müssten herausfinden, wie Sie es schnell machen können, sich Gedanken über die Datenintegrität und die Rennbedingungen machen und mehr . Mit einer Datenbank hast du das alles schon erledigt und es ist gut und schnell gemacht.

Es ist ziemlich normal, eine Datenbankabfrage auf jeder Seitenansicht durchzuführen; in der Tat ist es typisch für Web-Anwendungen, mehr als 5 und bis zu 30 Datenbank-Abfragen auf jeder Seite zu machen, und ich würde annehmen, dass stackoverflow.com wahrscheinlich in diesen Bereich passen würde.

MySQL ist schnell genug.

    
thomasrutter 02.08.2010, 01:40
quelle