So wie es auf den ersten Blick aussieht, nutzen sie tatsächlich kein Framework
Hm... so etwas kann ich dann ja gar nicht verstehen! Ohne Framework würde man ja auch in keiner anderen (besseren) Sprache an so eine Sache rangehen...
Andere Sprachen sind auch nicht selbst Frameworks. Dies ist bei PHP aber der Fall.
Historisch betrachtet ist PHP ein Framework, das sich zur eigenen Sprache entwickelt hat, daher ist ein weiteres Framework darüber zwar sinnvoll, aber nicht absolut notwendig. Durch die Einbettung in HTML ist es seine eigene Template-Sprache, es hat von Haus aus viele nützliche Lösungen integriert [bzw. liefern die Distries alle mit] (Kommunikation mit dem Webserver, Bildbearbeitung, Requestverarbeitung usw.), wo andere Sprachen Erweiterungen benötigen.
Vieles kann man sich in Einzelteilen leicht besorgen (z.B. von Symfony2). Das tut owncloud, wenn ich mir so den Code kurz anschaue, auch ausgiebig.
PHP ist wie Unkraut gewachsen, eine seiner schwächen. Es gibt aber nur wenige Sprachen, die auf die Aufgabe "Entwickle eine Webseite" so viele nützliche Funktionen mitliefern.
Andere Sprachen sind auch nicht selbst Frameworks. Dies ist bei PHP aber der Fall.
Imho eine falsche oder zumindest nur teilweise richtige Aussage! PHP beinhaltet in sich eigentlich nur eine Templatesprache - ein (Full-Stack-)Web-Framework beinhaltet ja definitiv mehr, wie eben einen SQL-Abtsraction Layer, ORM, usw.
Niemand würde auf die Idee kommen, JavaScript als Framework zu bezeichnen, oder? Und im Grunde genommen fehlt bei JS ja "nur" eine große Standard-Lib im Gegensatz zu PHP...
" ein (Full-Stack-)Web-Framework beinhaltet ja definitiv mehr, wie eben einen SQL-Abtsraction Layer, ORM, usw."
Ein SQL-Abtsraction Layer sehr wohl vorhanden ist: http://www.php.net/manual/en/book.pdo.php Ob ein ORM zu einem Framework gehören, darüber kann man doch recht gut streiten
PHP als Projekt ist ziemlich umfangreich, nur wenige Entwickler nutzen es überhaupt vollständig. Teil davon, über die Kernsprache hinweg, sind viele Erweiterungen, einiges sieht man hier: http://www.php.net/manual/en/funcref.php
Warum Javascript kein Framework ist? Weil es nur eine Sprache ist, die diverse Implementierungen hat. Im Grunde ist JS nicht sehr umfangreich, die Browser aber sind es.
JS ist als Sprache von einem Standardisierungsgremium definiert. Doch dort wird keine Implementierung vorgenommen. Zudem ist JS an sich relativ dünn, vieles ist gar nicht Teil der Sprache, sondern z.B. Teil von DOM oder HTML. Doch das ist nicht Teil von Javascript.
Bei PHP sieht es anders aus, hier sind Sprache und Implementierung Deckungsgleich. Es gibt im Grunde nur PHP als solches. Die anderen Implementierungen (die wenigen die es gibt, und die unvollständig sind) sind nicht gleichwertig, sie bauen PHP nach, sind aber nicht auf Augenhöhe. Zudem sind die Framework-Elemente nicht teil externer Projekte oder unabhängig umgesetzt, sondern Teil von PHP selbst (auch wenn manches heute Teil eines PHP-eigenen Unterprojekts ist).
Nutzt OwnCloud etwa kein Framework? Falls nein... OMFG! Falls doch, wie kann es da dennoch zu SQL-Injection-Problemen kommen?
So wie es auf den ersten Blick aussieht, nutzen sie tatsächlich kein Framework, prepared Statements aber eigentlich schon.
Andere Sprachen sind auch nicht selbst Frameworks. Dies ist bei PHP aber der Fall.
Historisch betrachtet ist PHP ein Framework, das sich zur eigenen Sprache entwickelt hat, daher ist ein weiteres Framework darüber zwar sinnvoll, aber nicht absolut notwendig. Durch die Einbettung in HTML ist es seine eigene Template-Sprache, es hat von Haus aus viele nützliche Lösungen integriert [bzw. liefern die Distries alle mit] (Kommunikation mit dem Webserver, Bildbearbeitung, Requestverarbeitung usw.), wo andere Sprachen Erweiterungen benötigen.
Vieles kann man sich in Einzelteilen leicht besorgen (z.B. von Symfony2). Das tut owncloud, wenn ich mir so den Code kurz anschaue, auch ausgiebig.
PHP ist wie Unkraut gewachsen, eine seiner schwächen. Es gibt aber nur wenige Sprachen, die auf die Aufgabe "Entwickle eine Webseite" so viele nützliche Funktionen mitliefern.
Niemand würde auf die Idee kommen, JavaScript als Framework zu bezeichnen, oder? Und im Grunde genommen fehlt bei JS ja "nur" eine große Standard-Lib im Gegensatz zu PHP...
" ein (Full-Stack-)Web-Framework beinhaltet ja definitiv mehr, wie eben einen SQL-Abtsraction Layer, ORM, usw."
Ein SQL-Abtsraction Layer sehr wohl vorhanden ist: http://www.php.net/manual/en/book.pdo.php
Ob ein ORM zu einem Framework gehören, darüber kann man doch recht gut streiten
PHP als Projekt ist ziemlich umfangreich, nur wenige Entwickler nutzen es überhaupt vollständig. Teil davon, über die Kernsprache hinweg, sind viele Erweiterungen, einiges sieht man hier:
http://www.php.net/manual/en/funcref.php
Warum Javascript kein Framework ist? Weil es nur eine Sprache ist, die diverse Implementierungen hat. Im Grunde ist JS nicht sehr umfangreich, die Browser aber sind es.
JS ist als Sprache von einem Standardisierungsgremium definiert. Doch dort wird keine Implementierung vorgenommen. Zudem ist JS an sich relativ dünn, vieles ist gar nicht Teil der Sprache, sondern z.B. Teil von DOM oder HTML. Doch das ist nicht Teil von Javascript.
Bei PHP sieht es anders aus, hier sind Sprache und Implementierung Deckungsgleich. Es gibt im Grunde nur PHP als solches. Die anderen Implementierungen (die wenigen die es gibt, und die unvollständig sind) sind nicht gleichwertig, sie bauen PHP nach, sind aber nicht auf Augenhöhe.
Zudem sind die Framework-Elemente nicht teil externer Projekte oder unabhängig umgesetzt, sondern Teil von PHP selbst (auch wenn manches heute Teil eines PHP-eigenen Unterprojekts ist).