x0r0x3
Goto Top

Welches PHP Framework würdet ihr empfehlen?

Hi,

ich muss für die FH eine Projektarbeit mit PHP oder ASP machen. Der Prof gab uns ein paar Themen zur Auswahl. Ich habe mich für eine Multimedia Verwaltung entschieden. Jetzt können wir die Multimedia Verwaltung auf verschiedenen Frameworks realisieren.

Zur Auswahl stehen:

- PHP CakePHP
- PHP CodeIgniter
- PHP Yii
- PHP Laravel

Entschieden hab ich mich für php statt ASP. Mit Php hab ich wenigstens schonmal ein bisschen was gemacht, während ich in ASP ein kompletter Neuling wäre.

Die Datenbank kann beliebig gewählt werden! Was ist denn davon das am meist verbreiteste? Gibt es grundsätzliche Unterschiede zwischen den oben genannten Frameworks? Bin für jeden Hinweis dankbar

Wie sieht es denn mit Tutorials aus? Ich bin noch einer, der php "on the scratch" gelernt hat, d.h. Texteditor auf und php in Rohform schreiben :D

Beste Grüße
X0r0

Content-ID: 221091

Url: https://administrator.de/contentid/221091

Ausgedruckt am: 23.11.2024 um 09:11 Uhr

firefly
firefly 15.11.2013 aktualisiert um 15:58:49 Uhr
Goto Top
Hi X0r0,

ich kann Dir eine bessere Alternative vorschlagen:

  • Bootstrap (CSS, Javascript und Vector Schriftarten) -> Frontend für das Design der Seite / des Projekts
  • Pures PHP für die Ansteuerung und Daten -> Backend z.B. eine XML Ausgabe, die dann mit Hilfe der Javascript und der Bootstrap CSS Bibliothek wie gewünscht ausgegeben wird. Viele Sachen kann PHP "out of the box", da braucht es eigentlich kein Framework.

Ein PHP Framework ist aus meiner Sicht der falsche (und alte) Weg, da die Browser heute per Javscript und CSS gefüttert werden. Für das Design einer Webseite ist PHP nicht die beste Wahl (ASP aber noch weniger). Ich finde PHP ist eine sehr gute Backend Sprache, im Fronend würde ich Bootstrap benutzen. Damit bist du auch bei mobilen Geräten (Tabletts und Smartphones) flexibler. Das komplette Projekt nur mit PHP zu erstellen, ist aus meiner Sicht der schwierigere und alte Weg.

Schau Dir mal die Beispiele an: http://getbootstrap.com/getting-started/#template
Und hier die Liste der Komponenten: http://getbootstrap.com/components/

Gerade mit Blick auf die hohen Auflösung der aktuellen Displays (iPad, MacBooks, PCs, Smartphones, etc.) würde ich z.B. die Ions und Schriftarten des Bootstrap Projekts für eine Webseite oder ein Webprojekt benutzen. Die werden automatisch ohne Qualitätsverlust hochskaliert.

Gruß
firefly
pantox
pantox 23.11.2013 um 21:55:45 Uhr
Goto Top
Hallo X0r0,

die Auswahl des richtigen Frameworks ist vergleichbar mit der Suche nach dem heiligen Gral.

PHP ohne ein Framework ist immer machbar und auch nicht falsch, soweit geh ich mit firefly noch mit. Man sollte aber bedenken, dass man alle grundlegenden Funktionen komplexer Webanwendungen jedes mal von Grund auf neu schreiben muss. Sei es die simple Verbindung zu einer beliebigen Datenbank oder ein einfaches URL-Routing und das widerspricht dem DRY-Prinzip. Und warum sollte man ständig das Rad neu erfinden? Klar kann man sowas einmal schreiben und dann immer wieder verwenden, aber da hat man schon eine Art Framework. Man macht mit einem Framework auch nichts richtiger, vielleicht nur eleganter, erweiterbarer und verständlicher.

Die Qualität eines Frameworks würde ich nicht an dessen Ergebnissen ausmachen, sondern vielmehr an der Aktivität der Community die es umgibt. Vergleiche die Dokumentationen, Foren, Bücher, Videos, Tutorials und andere Informationsquellen die du finden kannst und messe daran wie schnell du damit ein eventuell auftretendes Problem imstande bist zu lösen. Und dann fang einfach an, jedes Projekt lässt sich mit jedem Framework umsetzen, der Unterschied dabei ist nur der Aufwand den du betreiben musst.

Ich selbst habe eine Hardewareverwaltung vor einigen Jahren mit Codeigniter implementiert und habe bei der Umsetzung das Framework am besten kennengelernt. Für kleinere Anwendungen nehme ich immer gern das Slim PHP Framework, welches dank Composer schnell mit weiteren Paketen erweitert werden kann. Derzeit plane ich eine Multiapp Anwendung in Form eines Intranets mit User- und Rechteverwaltung und allem was dazu gehört. Hierfür versuche ich mich an Laravel. Warum? Weil Laravel für mich einige Vorteile mitbringt, welche die Arbeit enorm beschleunigen. Beispiele? Eloquent ORM, Blade Templating Engine, Authentifizierung out of the box und nicht zuletzt der sehr mächtige Router. Abgerundet wird das durch eine sehr gute Dokumentation und hilfreiche Foren.

Nun nochmal zu dem Unsinn das Browser mit Javascript und CSS gefüttert werden, denn grundsätzlich muss jede Anwendung ohne beides funktionieren! Twitters Bootstrap ist eine enorme Hilfestellung um schnell vorzeigbare funktionierende Frontends zu entwickeln, um also zu zeigen das die Anwendung im Hintergrund funktioniert. Mehr als das und eine Grundlage aber eben auch nicht. Das Model-View-Controller Konzept scheint vielleicht an einigen Stellen überholt, aber grundlegend ist es keine schlechte Idee Daten, Funktion und Darstellung voneinander zu trennen und hier können uns Frameworks enorm weiterhelfen.

Gruß,
pantox
firefly
firefly 28.11.2013 aktualisiert um 13:51:50 Uhr
Goto Top
Hi @pantox,

Nun nochmal zu dem Unsinn das Browser mit Javascript und CSS gefüttert werden, denn grundsätzlich muss jede Anwendung ohne beides funktionieren! Twitters Bootstrap ist eine enorme Hilfestellung um schnell vorzeigbare funktionierende Frontends zu entwickeln, um also zu zeigen das die Anwendung im Hintergrund funktioniert.

Was anderes habe ich doch auch gar nicht gesagt. Bootstap = Frontend, PHP (ob jetzt mit oder ohne Framework, mit oder ohne MVC) = Backend.
Bei vielen aktuellen Webseiten besteht die Seitenausgabe im Browser fast nur noch aus Javascript und CSS (und nur ganz wenig Html, schau dir z.B. mal den Quellcode der Google Startseite an). Ohne Javascript und CCS wäre z.B. "Responsive Design" gar nicht möglich. Daher funktionieren heute viele Seite ohne Javascript nicht mehr sauber im Browser. Und diese Entwicklung wird immer stärker.

Das Ganze bezieht sich aber natürlich nur auf die Ausgabe bzw. auf das Design. Der Backend kann ja (auch mit Hilfe von MVC) ordentliches JSON, XML oder HTML 5 ausgeben. Allerdings kann man aus meiner Sicht den "View" in Zeiten von Bootstrap, Ajax, Response Design, asm.js und jQuery, etc. leider nicht mehr so sauber trennen, wie es ursprünglich mal gedacht war.

Gruß
firefly