Warum PHP und MySQL

Home Hommage an S.J.Lec Fotografie Netzbetrieb Kabelfrequenzen in Hamburg
Übersicht
Linux - Versionen
den Lampp ins Web
PHP / MySQL?
MySQL-Replikation
Fern-Administration
DFUE - Chronik
Hansenet

Kontakt

hohe Performance ohne Lizenzkosten

Sie finden im Web viele Quellen zum Thema PHP und MySQL. Ich möchte mich hier auf ein paar Erfahrungen beschränken. Auf Links zu weiterführenden Quellen wird verzichtet. Ein gutes Buch zum Thema habe ich bisher nicht gefunden, da diese sich häufig zu ausführlich mit Syntax-Fragen und Installationsanweisungen beschäftigen. Die Darstellung von mittelkomplexen Projekten kommt meist zu kurz.

Mich hat die sehr gute Performance des Gespannes PHP/MySQL überzeugt. Die Vielfalt der implementierte Funktionen und die beständige Erweiterung bestärken mich in meiner Entscheidung. Das «magere» MySQL bekommt mit dem unabhängigen Tool phpMyAdmin eine brauchbare und hinreichende Oberfläche.

Ein wesentlicher Faktor für PHP/MySQL sind natürlich die fehlenden Lizenzkosten.

Verwendet wird von mir das Xampp-Paket von Apacheorg, das nach meinen Erfahrungen jeweils kurzfristig an Neuerungen angepasst wird.

Plattformunabhängigkeit

Ich entwickle Datenbank-gestützte Anwendungen sowohl für das Linux- wie auch für das Windoz-Umfeld. Anpassungen sind allenfalls im Bereich der direkten Dateioperationen fällig, wenn mit Backslashes gearbeitet werden muss. Durch geeignete Definitionsdateien auf Projektebene können die Anpassungen auf wenige Zeilen Code beschränkt werden. Die Übertragbarkeit von Datenbankdefinitionen und im Sourcecode ist vollständig gegeben. Ich arbeite auf beiden Plattformen mit dem Apache-Modul, das hochperformant ist und kurze Ausführungszeiten bietet.

Als Datenbank ist MySQL funktional - was das reine SQL angeht - vergleichbar mit anderen Datenbanken. Transaktionsunterstützung ist mittlerweile gegeben. Die Entwicklung geht beständig weiter, dabei ist das Qualitätsverständnis der Entwickler hervorragend.

kurze Entwicklungzeiten

Ich verfüge über gute Kenntnisse in der Programmierung unter Delphi. Nach meinen Erfahrungen verkürzt im Vergleich hierzu die Verwendung von PHP die Entwicklung beträchtlich, grob geschätzt um die Hälfte.

Auf der anderen Seite wird die Konzeption von Anwendungen komplexer. Ihre Anwendung verfügt nicht über einen exklusiven Datenbereich, der ihr gehört und auf den immer wieder zugegriffen werden kann. Sie müssen dafür Sorge tragen, dass die folgende «Transaktion» wieder alle erforderlichen Daten mitbringt oder irgendwie im Zugriff hat, beispielsweise über das Konstrukt der «SessionDaten».

Sicherheit

Für die Clients findet der gesamte Ablauf im Sicherheitskontext des Browsers und andererseits auf dem Host im Sicherheitskontext des Apache (oder anderer Webserver) statt.
Als Programmierer am Server können Sie nur auf bestimmte Fähigkeiten und Eigenschaften der Browser setzen.

Damit die eingebauten Sicherheitsoptionen greifen können, ist es natürlich erforderlich, entsprechende Einstellungen in MySQL vorzunehmen. Insbesondere über die erforderlichen Datenbankrechte sollte man nachdenken und entsprechende Rechte setzen und Passworte vergeben.

angenehme Features

Mit der Unterstützung von Session-Daten lassen sich verhältnismässig einfach Daten über mehrere Transaktionsschritte einer Anwendungssitzung hinterlegen. So lässt sich ein Blättern durch eine Datenbank leicht realisieren, wenn die komplette Abfrage in den Sessiondaten hinterlegt wird und mit dem Limit-Statement eine Positionierung des Datenbank-Cursors erreicht wird.

Die Verarbeitung von html-Formularen gestaltet sich als recht einfach. Formulardaten werden mit dem nächsten Aufruf zurück übertragen und stehen dem Skript zur Verfügung.

Das «Array» ist ein im Sprachumfang breit unterstütztes Konstrukt.

Die Typenlosigkeit der Variablen kann sowohl Nachteile haben als sich auch als nützlich erweisen.

Nachteile

Im Vergleich zu den modernen Entwicklungsumgebungen gestaltet sich die Fehlersuche als recht aufwändig. Praktisch ist man allein mit seinem Browser und dem Editor. Die Skriptausführung gibt aber meistens einen hilfreichen Hinweis auf die Skriptzeile, in der der Fehler auftritt.
Logikfehler sind naturgemäß schwieriger zu finden.


aktualisiert am 27.12.2007 18:50:31 ©W.Meinhart
eXTReMe Tracker