Warum meckern eigentlich alle über PHP? Mann kann damit doch ganz gute Internetseiten programmieren. Die Vermischung des Codes ist vielleicht nicht so gut und J2EE ist schon wirklich was anderes ;)
Aber was sind den die Hauptgründe gegen PHP?
- nicht skalierbar
- keine Unterstützung für Transaktionen
- keinerlei integrierte Verteilungsaspekte
Der Hauptgrund gegen PHP nennt sich "ad-hockery". PHP als Template-System entstand als quick Hack - und diese Herkunft wird schwierig abzuschütteln. Das führt dazu, dass PHP "ganz nett" für kleine Aufgaben ist, aber je größer das Programm, desto aufwändiger wird die Verwendung von PHP.
Das Archetypische Beispiel für die Folgen der "ad-hockery": PHP bekam erst mit PHP4 überhaupt einen richtigen Syntax samt Parser - davor war das Parsing eine ad-hoc Lösung, die halt "irgendwie tut". Dies gilt immernoch für größere Teile der Sprache.
PHP ist schwach getypt und verwendet - ähnlich wie Perl - Auto-Typ-Konversion. Dabei handelt es sich um ein "DWIM"-Konstrukt (d.h. "Do What I Mean"). Es funktioniert normalerweise, aber es kann sehr schnell nach hinten losgehen - und je größer das Programm wird, desto wahrscheinlich wird dies, und desto schwieriger ist das zu finden.
Was PHP absolut fehlt ist ein vernünftiges Modulsystem. Zur Zeit werden tausende von Variablen bzw. Funktionsnamen verwendet, um die vielen "libraries" zur Verfügung zu stellen. Hinzu kommt, dass die Funktionen auch noch sehr inkonsistent benamst sind, was das Erinnern doch erheblich erschwert.
Und dann noch so Kleinkrams…
Die "variablen Variablen" wie $$a (um den Wert der Variable, deren Name in $a steht) zeugen von einer Sprache, die sich auf Scripting ausgelegt fühlt - normalerweise würde man für so etwas eine Table (hash, tree, whatever) verwenden.
include() arbeitet relativ zum Originalfile, nicht zum aktuellen File
etc.pp.
URLs:
http://www.ukuug.org/events/linux2002/papers/html/php/index.htmlhttp://verplant.org/perl.vs.php.htmlhttp://tnx.nl/phphttp://www.bitstorm.org/edwin/en/php-sucks/Das ganze wird übrigens von einem PHP-Author gut zusammengefasst:
I think PHP could become the BASIC of the next years.
-- Thies (one PHP author)
Achja, es gibt übrigens mehr als PHP und J2EE. Perl lebt immernoch, Python (mit Zope bzw. TwistedMatrix) bietet auch einiges an, etc.pp. ;-)
es lebe ASP .NET
Mir ist neu, daß es bereits so schlecht um ASP.NET steht, daß man ihm diese Genesungswünsche zukommen lassen muß.
asp mag ich nicht leiden, denn die Syntax gefällt mir überhaupt nicht
mit PHP hingegen habe ich nur gute Erfahrungen gemacht und sehe kaum Gründe zur Beanstandung. Gerade PHP5 hat viele Neuerungen, die es attraktiv macht!
include() arbeitet relativ zum Originalfile, nicht zum aktuellen File
=> es gibt auch noch require()…
[X] für PHP5
[X] für PHP5
Du meinst mit PHP4 gabs ne Syntax, mit PHP5 gabs dann auch ne Semantik? :-)
=> es gibt auch noch require()…
Das arbeitet aber leider genauso.
verwende als include einfach:
include(dirname(__FILE__)."[relativerPfad]");
Damit erledigt sich das Problem…
include() arbeitet relativ zum Originalfile, nicht zum aktuellen File
Was sind denn das Originialfile und das aktuelle File?
Ge - kann kein PHP - org
include() arbeitet nicht transitiv. Wenn man also eine Datei einbindet, muss man sich bei relativen Pfadangaben auf die ursprünglich vom Client aufgerufene Datei beziehen und nicht - wie man annehmen könnte - auf die, in der der aktuelle Aufruf geschieht.
Ah, alles klar. Das ist in der Tat dämlich.
ist natürlich die frage was für php und gegen j2ee spricht (was hat php an _wirklichen_ vorteilen?)
ich sehe da nicht wirklich etwas - ausser vielleicht, dass es bei fast allen webhostern zur verfügung steht..
ein servlet o.ä. zu schreiben ist selbst bei kleineren anwendungen ("gästebuch" o.ä.) einfacher und schneller.. und bei grossen anwendungen gibts in php sowieso fast nur noch chaos - also wofür überhaupt php?