PHP mit oder ohne Framework ?
-
Hallo
Die Frage steht eigentlich schon im Titel. Ist es besser mit oder ohne Framework zu entwickeln ?
Die Seite wird nicht besonders gross, aber ich will das sie möglichst Sicher ist.
Soll ich eine andere Sprache verwenden ?
-
Wenn es möglichst sicher sein soll und nur statische Seiten enthält, dann lass dir deine HTML-Seiten lokal von einem Skript/Macroprozessor, wie z.B. M4, XSLT, Ruby, ...) zusammenbauen.
Wenn dich jetzt nur der Faktor Sicherheit interessiert, kann man sagen, je größer der Code, um so wahrscheinlicher ist es, dass dort ein Fehler drin ist. Benutzt du also ein Framework, dann ist es erst mal wahrscheinlicher, dass da ein Fehler drin ist.
Schreibst du jetzt selber Code, ohne ein Framework, steigt die Fehlerwahrscheinlichkeit ebenfalls. Jetzt wird der Code in einem Framework aber von sehr vielen Leuten getestet und ge-reviewt. Das heißt, die Wahrscheinlichkeit, dass eine Code-Zeile einen Fehler enthält ist dort geringer, als bei deinem selbst geschriebenen Code.
Insgesamt bedeutet das: Nur für sehr kleine Seiten ist der Verzicht auf ein (gutes) Framework, gut für die Sicherheit der Seite, denn in der Regel musst du weniger eigenen Code schreiben, wenn du ein Framework benutzt.
Natürlich bedeutet ein Framework erst einmal eine Einarbeitungszeit.
Ob du einen andere Sprache als PHP verwenden sollst? Hängt ganz von deinen Anforderungen ab. Wenn es auf einem 08/15-Hoster laufen soll, kommst du um PHP nicht herum. Ansonsten wären Java (JSP), C# mit ASP.NET und Ruby (Ruby on Rails) wohl relativ ausgereifte alternativen.
-
Ich habe mich aus Sicherheitsgründen gegen Frameworks entschieden. Diese enthalten von vornherein Bugs, die du natürlich übernimmst. Außerdem kommen ständig neue Releases. Bleibe beim selbständigen Coden, da weißt du genau, was drin steht. ^^
-
himmel-b schrieb:
Ich habe mich aus Sicherheitsgründen gegen Frameworks entschieden. Diese enthalten von vornherein Bugs, die du natürlich übernimmst. Außerdem kommen ständig neue Releases. Bleibe beim selbständigen Coden, da weißt du genau, was drin steht. ^^
Sicherheit ist natürlich generell DAS Kriterium, irgendetwas NICHT selber zu schreiben. Weil die Leute, die ein Framework geschrieben haben, wahrscheinlich viel mehr Ahnung haben, als du, und es wird auch von mehr Leuten getestet und durchgeschaut.
Ich bin generell kein Fan von PHP und mach da selten was damit. Und wenn ich was damit mache, nehme ich keine Frameworks, weil es meist etwas ganz kleines und internes ist. Aber ich denke, größere Projekte machen in PHP ohne Frameworks keinen Sinn. Mit echo 'xyz' zu programmieren ist irgendwie out.
-
Naja, es ist halt irgendwo auch die Frage, was genau man da eigentlich programmieren möchte. PHP ist deutlich besser als sein Ruf, aber es hat in der Tat viele Tricks und Kniffe und Eigenarten die man beherrschen und kennen sollte, bevor man Produktivcode schreibt.
Wenn es nur um eine etwas dynamische Klein-Website mit Datenbank-Anbindung geht, die vielleicht eine einfache User-Verwaltung integriert hat, dann kann man das schon noch gut selbst basteln. Wenn man mit Kundendaten jongliert, kommerzielle Services anbietet oder allgemein aktiv Geld damit verdient, dann sollte man sich die Aktion schon wieder zwei mal überlegen.
Ich sitze hier z.B. derzeit an einem mittelgroßen Portal, in welchem alles vor Jahren zu 100% selbst kodiert wurde. Obwohl sehr gut durchdacht, bin ich trotzdem immer mehr dabei, Stück für Stück einzelne Funktionalitäten durch gute Bibliotheken zu ersetzen. Zuerst die Template-Engine, dann den BBCode-Parser, zuletzt die Statistikerfassung und möglicherweise demnächst das User Management. Ein vollwertiges Framework engt oft stark ein, aber einzelne gut geprüfte Bibliotheken erleichtern die Sache schon gehörig. Vor allem für die sicherheitskritischen Module. Und wenn ein Update kommt, dann ersetzt man ein paar Dateien durch die neuen Exemplare und hat bei gutem Design keine weiteren Anpassungen am eigenen Code vorzunehmen. Bestenfalls ein paar Kleinigkeiten bei großen Versionssprüngen. Das ist mir aber um Welten lieber, als vor einer gehackten Website zu sitzen oder die Herkunft ominösen Datenbank-Mülls backtracken zu müssen, der urplötzlich wichtige Inhalte überschrieben hat.
-
árn[y]ék schrieb:
Zuerst die Template-Engine
Das ist meist schon die halbe Miete. Wenn man eine Template Engine hat, ist es ja ok. Dann kann man nach Bedarf Bibliotheken hinzufügen, z.B. ORM. Habe aber schon sehr viele PHP Programme gesehen, die komplett auf eine Template Engine verzichten und lauter komischen Code haben, wo die Seite mit echo Ausgaben zusammengebaut wird, wo nichts gekapselt ist und alles irgendwie kreuz und quer. Das sind dann nämlich die "typischen" PHP Programme und das möchte ich keinem empfehlen. Aber ob man jetzt einzelne Bibliotheken verwendet oder ein Gesamtframework, ist eigentlich fast schon egal.
-
nana... kann man ja nicht mit anschauen, diese unwahrheiten! es ists schon so, dass open source idr. weniger bug's hat, dafür sind die auch leichter zu finden (such mal einen bug in einer blackbox ohne bruteforce ) und ein bug in einer essentiellen open-source library kann schon zu größeren ausfällen führen. wobei man sich dafür - damit es auch spaß macht - eher etwas sucht, was nicht in php gemacht ist
2¢
-
Also ich würde kein Framework verwenden, denn damit bringst du nur externe Fehler in deinen Code rein. Du brauchst ja nur mal auf die Update-Frequenz dieser Frameworks zu schauen. Lerne lieber sauber zu scripten. Dann kommst du auch ohne aus ...
-
Juhuri schrieb:
Also ich würde kein Framework verwenden, denn damit bringst du nur externe Fehler in deinen Code rein. Du brauchst ja nur mal auf die Update-Frequenz dieser Frameworks zu schauen. Lerne lieber sauber zu scripten. Dann kommst du auch ohne aus ...
Das ist natuerlich Bloedsinn.
Es gibt keinen Grund jedesmal das Rat neuzuerfinden. Man nimmt IMMER bestehende Loesungen. Sei es ein CMS, ein Framework, etc.