Das ist relativ unspezifisch. Was kann man wie und wo "rausholen"? PHP ist Turingvollständig, also kann man Potentiell so gut wie alles darin schreiben. Der Punkt ist nur der Aufwand. Und der lässt sich 1:1 in Geld und Nerven umrechnen. Und eben den Schätze ich als unnötig Hoch ein.Nocta hat geschrieben:Man könnte also zum Schluss kommen, dass PHP TOTAL verbuggt und unsicher ist, aber ganz so ist's ja auch wieder nicht.
Wenn man mal einige Zeit investiert, um PHP richtig zu lernen, anstatt nur Formular-to-Database und umgekehrt (was nur ein paar Befehle und vielleicht einige so extrem schwierige Konstrukte wie eine Schleife benötigt) zu schreiben, kann man da schon recht viel rausholen.
Vielleicht konzipiert, aber was ist daran einfach, dauernd in der Doku nachgucken zu müssen, ob needle oder haystack bei dieser funktion vorne ist, ob str_ oder str das prefix ist, oder die arrayfunktion in-place oder returnierend ist, etc? Was ist einfach an 64byte-prefixes, damit man ja keine Kollisionen mit anderen Programmen hat? Was ist einfach daran, dass ich, wenn ich ordentlich Programmiere, administrationsoptionen auslesen und rückgängig machen muss (magic_quotes z.B.) und wenn ich es nicht mache, fahrlässig handele?PHP ist nunmal auf Einfachheit konzipiert, das kann man leugnen wie man will, es ist nunmal so.
Worin liegt die vielbeschworene Einfachheit von PHP?
Sorry dass das vieleicht arrogant rüberkommt, aber in meinen Augen gilt PHP nur als einfach, weil es oft genug wiederholt wird.
klingt für mich stark nach: wenn ich viel Arbeit reinstecke, kann PHP das, was ich bei anderen Sprachen ohne Arbeit kann.Aber wenn man die Sprache beherrscht, kann man das ganze ein wenig übersichtlicher halten, indem man eine Struktur reinbringt: Das ganze in Funktionen und/oder Klassen kapseln, Templatesysteme benutzen, die HTML von PHP trennen, SQL-Klassen benutzen (die man sich sehr einfach selbst schreiben kann), usw.
SQL-Klassen sind da vielleicht nach PDO nicht mehr so das Beispiel, aber sowas stand bei Python z.B. nie zur Debatte, die DB-Api kümmert sich selbstverständlich ums escaping.Was ich an einer SQL-Klasse schätze, ist vorallem, dass man da ganz einfach bevor das Query an die Datenbank geschickt wird, die Variablen, die übergeben wurde verifizieren kann, damit keine SQL-Injections möglich sind (passiert dann eben automatisch).
Genau deshalb ist PHP in meinen Augen schlecht: ich muss überall meine Nerven opfern für Dinge, die ich in anderen Sprachen gratis bekomme. (Dass es Handwerklich absolut Katastrophal wirkt, mal aussen vor).Also ich behaupte jetzt einfach mal ganz dreist:
Wenn man PHP beherrscht, kann man damit auch relativ saubere Anwendungen schreiben, die übersichtlich und sicher sind.
Man muss eben das Hintergrundwissen haben[...]
Ich hab schon oft gehört "wenn man Diszipliniert Programmiert, macht man keine Fehler". Disziplin ist aber eine knappe Resource, die ich persönlich lieber in Funktionalität als Fehlervermeidung stecken würde.