• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Framework , nur welches ?

maria1

Mitglied
Hallo,

Ich habe ein paar fragen bezüglich Frameworks.

Welches ist denn für den Anfang zu empfehlen ?

Gibt es Dinge auf die man Grundsätzlich achten muss bei der Wahl des Framework's ?


Danke
 
Die Frage ist für was?

Ich würde ja auf Frameworks ganz verzichten. PHP bietet doch schon alles. Bei einem Framework hast du nur mehr overhead, egal welches Framework. Es macht die Seite langsamer auch wenn die Hersteller dieser Frameworks gern das Gegenteil behaupten.
 
Gut zu wissen. Leider hab ich in den letzten monaten eher sowas zu höhren bekommen

Nimm doch ein Framework, schneller und alles ist einfacher ...

Nunja wenn mir Profis das gegenteil sagen werd ich einfach PHP weiterlernen bis zu vollendung :)
 
Nimm doch ein Framework, schneller und alles ist einfacher ...
...und das ist auch richtig. Nehmen wir Zend her: einzelne Komponenten kannst du da rausnehmen, so dass Du wirklich nur das verwenden kannst, was Du auch benötigst.

Frameworks geben dir eine ordentliche Struktur vor (z.B. MVC). Sie bieten dir Datenbank-Abstraktionen, ORM, ein ordentliches Routing, integrieren Depency Injection, verschiedene nützliche Pattern, ...


Write less, do more gilt für PHP-Frameworks genauso.


Hier mal ein paar FWs:
- Adventure PHP Framework
- Zend Framework
- Code Igniter
- Yii
- stubbles
- CakePHP
- Fuel

Schau dir vielleicht paar Benchmarks der einzelnen FWs an - vielleicht hilft dir das bei der Entscheidung.
 
Zuletzt bearbeitet:
Ein Framework wird meistens für gewisse Sachen erstellt. Ein Framework sollte eigentlich immer für den einzigartigen Fall selbst erstellt werden, da alle anderen immer sachen drin haben, die Overhead erzeugen. Zum Beispiel irgendwelche 100 MIME Typ Versionen für Mailing, wobei du nicht einmal eine Mail Funktion in einem Fall verwenden willst, aber es ist vorhanden.

Daher: Ich kann dir schon mal sagen, wenn du dazu lernst, wirst du schnell merken, dass die ganzen Frameworks eigentlich kacke sind.. bzw. es ist Ansichtsache.. bis jetzt habe ich die Erfahrung gemacht, dass "Telekom"-Typen ( Menschen Die sich ein 1000 Seiten Buch nehmen, jedes scheiß Wort verstehen und sich 0% davon abweichen, da es im Buch so steht. Fachwörter wie Barrierefreiheit, OOP ausgeschrieben und andere sachen ) sowas öfter benutzten, aber von "Praktikern" werden Sie eher verachtet.

Du kannst dir ja selbst deine Meinung bilden, hier paar bekannte:

CodeIgniter
Symphonie
PHPCake
 
Ok danke.

Ne frage noch was ist das dann ?

PHP:
<?php

  class test
  {
    public static function run() { print "Works\n"; }
  }

  $className = 'test';
  $className::run();

?>

Php klar, aber bei mir schaut das immer anders aus ...

Versteh ich das richtig , hier wird eine klasse erstellt die sich test nennt.
Darin wird definiert was die klasse machen soll

mit
$className::run();
kann ich sie dann aufrufen im script oder ?
 
Es handelt sich hier um ne Klasse mit ner statischen Methode. Statische Methoden können direkt aufgerufen werden, ohne ein neues Objekt der Klasse zu erzeugen. Die Methode könnte man auch nur mit test::run() aufrufen, so wie du es machst, ist natürlich auch richtig.

Daher: Ich kann dir schon mal sagen, wenn du dazu lernst, wirst du schnell merken, dass die ganzen Frameworks eigentlich kacke sind
Du hast scheinbar bisher nur an sehr kleinen Projekten gearbeitet, sonst würdest Du das Gegenteil behaupten.
 
Gut Gut, also ich arbeite auch nur an kleinen Projekten .

Aber das mit den klassen find ich gut, hab ich noch nie versucht bis jetzt !

Es es so gut Strukturtechnisch ?

Ich mache ne datei die sich zb. class.php nennt. (ja könnte auch für jede klasse ne eigene datei nehmen und diese dann eben register.class.php nennen zb. )
Da definier ich alle klassen . Diese datei include ich dann in die datei wo ich die klasse benötige und rufe diese dann auf .

Oder soll ich das anders machen ?
 
Gut Gut, also ich arbeite auch nur an kleinen Projekten .

Aber das mit den klassen find ich gut, hab ich noch nie versucht bis jetzt !

Es es so gut Strukturtechnisch ?

Ich mache ne datei die sich zb. class.php nennt. (ja könnte auch für jede klasse ne eigene datei nehmen und diese dann eben register.class.php nennen zb. )
Da definier ich alle klassen . Diese datei include ich dann in die datei wo ich die klasse benötige und rufe diese dann auf .

Oder soll ich das anders machen ?
Nein, so sollte man das nicht machen.

Schau dir mal die folgenden Seiten an:
Model View Controller
MVC (Model&ndash;View&ndash;Controller) im Zend Framework « View, Controller, Framework, Zend, Model, Action, Daten, Architekturmuster « zietlow.net
Zend Framework: Documentation: Zend Framework & MVC Einführung - Zend Framework Manual
 
Du hast scheinbar bisher nur an sehr kleinen Projekten gearbeitet, sonst würdest Du das Gegenteil behaupten.

Die Größe ist wohl Ansichtssache, aber ich bin mir defenitiv Sicher, dass es bei 95% der Menschheit in Ihrer Ansicht für sehr viele meiner Projekte im Rahmen : Groß bis Sehr Groß liegen. Da musste ich auch unteranderem Frameworks wie Zend usw. benutzten. Ach siehe an, dass hab ich vergessen zu erwähnen. Von allen Frameworks hat mir das Zend Framework am besten gefallen, aber je größer das Projekt wurde, desto größer wurden die Nachteile. Ebenso die PHP Nachteile.
 
Der Link zum Zendframework hat mir noch am besten gefallen, die Kommentare dort sind voller Spam. Das lässt tief blicken. Aber werde mir dort auch mal einen Backlink holen wenn´s so einfach ist, schaden kanns ja nicht.
 
Es ist nicht sinnvoll, von Frameworks abzuraten.

MVC-Ansätze sind sinnvoll, Code-Wiederverwendbarkeit ist sinnvoll, standardisierte Vorgehensweisen sind sinnvoll.

zorndyuke schrieb:
[…] aber je größer das Projekt wurde, desto größer wurden die Nachteile.

Warum denn das?

Edit: Oder anders gefragt: Worin bestanden bei einem großen Projekt die Nachteile, die du beim Verzicht auf ein Framework nicht gehabt hättest?

Edit 2: Weil ich gerade noch mal über den Thread gelesen habe:

zorndyuke schrieb:
Ein Framework wird meistens für gewisse Sachen erstellt. Ein Framework sollte eigentlich immer für den einzigartigen Fall selbst erstellt werden, da alle anderen immer sachen drin haben, die Overhead erzeugen.

Das ist eigentlich genau die Anti-Definition.
 
Zuletzt bearbeitet:
Ich muss nochmals ganz zurück. Bist du sicher, ob deine Gesprächspartner überhaupt wussten, wovon sie sprechen, wenn sie den Begriff Framework verwenden. Falls ja, dann sollten sie ja auch in der Lage sein, dir welche zu nennen, wofür sie gut sind und die angeblichen Vorteile aufzuzählen. Aber eventuell meinten die ja statt Framework nur, dass du je nach Bedarf eine der verfügbare Libraries nehmen sollst. Man kann auch meinen, man soll je nach Bedarf eine der vielen fertigen freien Anwendungen (wie Gästebuch, CMS, Photogalerie) nehmen und die anpassen und einbinden.
 
NetAktiv schrieb:
Aber eventuell meinten die ja statt Framework nur, dass du je nach Bedarf eine der verfügbare Libraries nehmen sollst.

Ich habe maria1 kürzlich mal Zend_Http verlinkt, weiß aber nicht, ob sie sowas auch meinte.

- http://www.html.de/php/41922-bestimmtes-div-auslesen-2.html#post302480

Beispielsweise beim Zend Framework können einzelne Komponenten ausgegliedert und einzeln genutzt werden. Da ist der Übergang von Framework zu Library sehr fließend.

Zend_Http habe ich in dem Thread als Library empfohlen.

Bei Frameworks geht es um so Sachen wie das, was ich hier mal versucht (*seufz*) habe zu verdeutlichen:

- http://www.html.de/wiki/MVC
 
Wie immer liegt die Wahrheit wohl in der Mitte.

Frameworks sind kein Allheilmittel und sie sind auch nicht vom Teufel gemacht.
Ich nutze dieses Board und schicke meine Beiträge auch nicht über einen selbsgecodeten Editor an eine Schnittstelle ans Forum. Genauso nutze ständig ich meine eigene Mailfunktion, die ich in und auswendig kenne und genauso verhält es sich mit einer Funktion, die mir eine Tabelle aus einer Datenbank komplett sortierfähig in der Reihenfolge wie ich es brauche anzeigt. Ein paar Parameter setzen und ich habe mein Ergebnis.

Mein Facit, Mischformen sind das Erwünschte. Man nehme ein gut funktionierendes Framework und erweitere es um die Dinge, die man braucht. fertig ist der Code....

Der Artikel ist zu 100% in meinem Sinne, auch wenn ich derzeit vorwiegend eigene Sammlungen einsetze, was an den speziellen Anforderungen liegt.
 
Ich glaube, solche Diskussionen versumpfen oft in Definitionsuntiefen, weil verschiedene Beteiligte mit dem Begriff „Framework“ wohl von einer wiederverwendeten eigenen PHP-Funktion bis zu einem CMS mit ihren jeweiligen Definitionen so ziemlich alles abdecken.

Nutze ich ein Framework, wenn ich den PHPMailer einsetze? Nutze ich ein Framework, wenn ich Zend_Http_Client einsetze? Ist meine generische Router-Klasse, die eingehende Requests je nach URL-Schema zu verarbeitenden Codeteilen weiterleitet, ein Framework, wenn ich sie in zwei Projekten verwende? Wie steht's mit Doctrine oder LESS? Sind das Frameworks? jQuery?
 
Prima bis jetzt. Aber meiner Meinung nach löst es ja nicht die Empfehlung für Maria. Ich habe ja behauptet ein Framework a la Zend oder PHPCake braucht sie nicht und das es die Seite langsamer macht. Das es auf kosten der geschwindigkeit geht wird hoffe ich nicht bestritten.

Die Frage ist doch, ob jemand der eine normale Webseite mit PHP alleine erstellt, sagen wir eine kleine Community-Seite mit Login und Posts und Kommentaren, so ähnlich wie ein Blog eventuell, um mal den Aufwand abzustecken. Lohnt dann der Aufwand des zusätzlichen Lernens überhaupt, wenn man sonst Webseitenerstellung nicht sein Broterwerb nennt?

Das es in Firmen und grossen Projekten Pflicht ist, will ich mal als unbestritten stehenlassen, aber darum geht es hier ja nicht.
 
Wustersoss schrieb:
Aber meiner Meinung nach löst es ja nicht die Empfehlung für Maria. Ich habe ja behauptet ein Framework a la Zend oder PHPCake braucht sie nicht und das es die Seite langsamer macht.

Hm, ja. Wobei das natürlich auch nicht wirklich das ist, wonach sie zu Beginn gefragt hat. Ich empfehle aber einfach mal wider echtes Wissen als Einstieg CakePHP.

- Welcome &mdash; CakePHP Cookbook v2.0.0 documentation

Das heißt nicht, dass das ein gutes Framework ist. (Ich habe damit nie gearbeitet.) Das heißt nur, dass ich glaube, dass es ein verhältnismäßig einfaches ist.

Das es auf kosten der geschwindigkeit geht wird hoffe ich nicht bestritten.

Nein, aber das ist nicht unbedingt ein relevanter Punkt. Sonst würde beispielsweise niemand in Java programmieren und PHP würde überhaupt nicht existieren.

Die Frage ist doch, ob jemand der eine normale Webseite mit PHP alleine erstellt, sagen wir eine kleine Community-Seite mit Login und Posts und Kommentaren, so ähnlich wie ein Blog eventuell, um mal den Aufwand abzustecken. Lohnt dann der Aufwand des zusätzlichen Lernens überhaupt, wenn man sonst Webseitenerstellung nicht sein Broterwerb nennt?

Warum dann nicht einfach ein fertiges CMS nutzen (oder jemanden beauftragen)? Das Konzept, „ein wenig“ zu programmieren, finde ich jedenfalls auch nicht so überzeugend, da es mitunter fahrlässig ist, nicht zu wissen, was man tut.
 
Das heißt nicht, dass das ein gutes Framework ist. (Ich habe damit nie gearbeitet.) Das heißt nur, dass ich glaube, dass es ein verhältnismäßig einfaches ist.
Du kennst es nicht und empfiehlst es dennoch. Wie finde ich das denn?

Das Konzept, „ein wenig“ zu programmieren, finde ich jedenfalls auch nicht so überzeugend, da es mitunter fahrlässig ist, nicht zu wissen, was man tut.
Das versteh ich jetzt gar nicht. Wenn ich programmieren kann, wozu brauch ich dann ein Framework, oder brauche ich ein Framework, gerade weil ich programmieren kann. Ein Framework befreit mich doch nicht vom lernen der Programmiersprache. Ein CMS ist aber ein guter Ansatz. Da stimme ich zu.

Und ein wenig programmieren damit man die Sprache lernt ist doch auch gut, wie soll man es denn sonst lernen. Solange man das Ergebnis nicht als funktionierende Webseite anpreist, ist da meiner Meinung nach nichts gegen einzuwenden.
 
Zurück
Oben