Ankündigung

Einklappen
Keine Ankündigung bisher.

Was nützt mir ein Framework (CakePHP)

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Was nützt mir ein Framework (CakePHP)

    Hi,

    Ich habe bis jetzt auf PHP ebene immer ohne Frameworks gearbeitet.
    mit OOP beschäftige ich mich jetzt seit ca. 6 Monaten und denke das ich eigentlich sie wichtigsten Dinge in dem Bereich drauf habe.

    Jetzt ist die Frage:

    Ich arbeite schon ca 3 Monate an einem Projekt und bin gerade am überlegen ob ich nicht vielleicht doch ein Framework einsetzen sollte.

    In Javascript ist das Arbeiten mit JQuery schon sehr komfortable nur was nutzt mir ein Framework in PHP?

    Ich weiß nicht ich glaube ich kann mir das einfach nicht vorstellen.

    Und btw. welches Framework sollte ich am besten benutzen?
    CEO @ XTAIN oHG


  • #2
    Ich arbeite schon ca 3 Monate an einem Projekt und bin gerade am überlegen ob ich nicht vielleicht doch ein Framework einsetzen sollte.
    Da hättest du vielleicht eher vorher ein paar evaluieren sollen und schauen was dir gefällt und in dein Projekt passt.

    In Javascript ist das Arbeiten mit JQuery schon sehr komfortable nur was nutzt mir ein Framework in PHP?
    Es kann dir Arbeit erleichtern, weil es Komponenten mitbringt die du eh brauchst, es kann die Qualität verbessern, wenn man auf Komponenten setzt die vielleicht anstatt einer Person von mehreren genutzt/getestet/entwickelt werden, ....

    Ich weiß nicht ich glaube ich kann mir das einfach nicht vorstellen.
    Hast du dir denn einfach mal die Webseiten von ein paar Frameworks angeschaut was sie so bieten ?

    Und btw. welches Framework sollte ich am besten benutzen?
    Es gibt kein "bestens" hier

    Es kommt darauf an was für Features/Module du willst/brauchst, welches Framework dir vom Aufbau her gefällt, deine eigenen Programmiergewohnheitenm, etc
    Es ist auch durchaus Möglich Komponenten aus verschiedenen Frameworks und Bibliotheken zu verwenden.


    Ansonsten als weitere Lektüre vielleicht:

    http://www.php.de/php-fortgeschritte...meworka-s.html
    robo47.net - Blog, Codeschnipsel und mehr
    | Caching-Klassen und Opcode Caches in php | Robo47 Components - PHP Library extending Zend Framework

    Kommentar


    • #3
      nungut, Ich bin im moment dabei mir CakePHP anzusehen.
      Sieht ganz nett aus.

      PS: diese 3 Monate habe ich im Prinziep gebraucht um das JavaScript, HTML, CSS, und die grundlegenden Sachen in PHP zu machen. Also Login, Template usw
      CEO @ XTAIN oHG

      Kommentar


      • #4
        Ich bin auch gerade dabei eine WebApplikation zu entwickeln. Befinde mich aber bis Ende Monat noch in der Evaluations Phase.

        Ich habe mich ziemlich intensiv mit der Frage, Template Engine ja oder nein, PHP Framework ja oder nein beschäftigt.

        Im Endeffekt bin ich mir aber noch immer nicht sicher was ich einsetzen soll oder was nicht.

        Bestes Beispiel ist Smarty. Die einen schwören darauf, andere sind der Meinung dass es ausser der Möglichkeit einiger if/switch/else Möglichkeiten in der Business Logik nichts beiträgt und einfach ein weiteren Layer über ein Projekt legt.

        Ich hab mir jetzt nochmals ein Buch zu PHP gekauft und dabei werden die verschiedene Frameworks vorgestellt.

        Ich habe mich aber dafür entschieden das Projekt ohne PHP Framework zu entwickeln da die meisten der Meinung sind dass nur das Zend Framework was taugt und dies ist mir definitiv zu schwer für das Projekt welches ich vor mir habe.

        Zudem kommt dass gewisse Anforderungen darin trotzdem nicht 100% abgedeckt sind und ich trotzdem einige Klassen selber schreiben muss. Da kann ich genau so gut eine eigene SQL Klasse noch schreiben und dafür hang ich nicht an dem Framework fest.

        Ich denke wie robo47 geschrieben hat, es kommt auf das Projekt und deine Vorlieben an.

        Ich für meinen Teil versuche es nun mal ohne Framework. Ob dies die richtige Entscheidung ist kann ich euch dann später berichten

        Je nach grösse des Projekts ist die Zeitersparnis durch das Framework kleiner als die Zeit die du brauchst, das Framework zu verstehen und zu implementieren.

        Grüsse

        eXe
        It's not a bug. It's a feature!

        Kommentar


        • #5
          und ich trotzdem einige Klassen selber schreiben muss.
          Framework ist nicht umsonst ein Gleichnis aus dem (v.a. amerik.) Hausbau. Auch dort wirst Du Wände ziehen, Dach decken und Tapeten ankleben müssen. Wenn ein Framework eine fertige Applikation für alle Anwendungszwecke wäre, wären wir alle arbeitslos.
          --

          „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
          Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


          --

          Kommentar


          • #6
            Je nach grösse des Projekts ist die Zeitersparnis durch das Framework kleiner als die Zeit die du brauchst, das Framework zu verstehen und zu implementieren.
            Das gilt vielleicht für deine ersten Umsetzung mithilfe des Frameworks. Das zieht sich natürlich, da du dich einarbeiten musst und verständlicherweise erstmal brauchst, um dich an das Konzept, die Api und auch an die Doku zu gewöhnen.
            Wenn du dich allerdings mal eingearbeitet hast, bist du gerade bei alltäglichen Dingen so viel schneller, der Code ist übersichtlicher - da vorhersehbar stukturiert- als ohne FW und gerade für Teammitglieder viel leichter zu verstehen.
            I like cooking my family and my pets.
            Use commas. Don't be a psycho.
            Blog - CoverflowJS

            Kommentar


            • #7
              Ein (gut gewähltes, das heißt, Deine Anwendungsfälle abdeckendes) Framework bietet eben den Vorteil, dass Du Dich nicht verzettelst. Es gibt Dir definierte Interfaces und Strukturen vor, meist Pfad- und Dateinamenskonventionen, manchmal Vorgaben, wie Du URL-Kommandos gestalten musst, damit sie woanders automatisch gefangen und verarbeitet werden.

              Für eine größere Applikation ohne Framework spezifiziert man sich schnell zu Tode, weil man für alle möglichen Grundsatzentscheidungen (wie gestalte ich meine Projektstruktur, meine Komponenten, meine Controller...) bereits die gesamten Anforderungsprofile für die Anwendung kennen und vor allem bedenken muss. Das endet schnell in einem ewigen Kreislauf, ohne irgendwann einfach mal anfangen zu können.

              Dabei rede ich noch gar nicht von fertigen Komponenten und Klassen, die sind IMHO meist nur schmückendes Beiwerk von Framworks.
              --

              „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
              Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


              --

              Kommentar


              • #8
                Zitat von rudygotya Beitrag anzeigen
                Das gilt vielleicht für deine ersten Umsetzung mithilfe des Frameworks. Das zieht sich natürlich, da du dich einarbeiten musst und verständlicherweise erstmal brauchst, um dich an das Konzept, die Api und auch an die Doku zu gewöhnen.
                Da es aber das universelle Framework nicht gibt ( korrigiert mich wenn doch ) wirst du beim nächsten Projekt evt. ein anderes Framework berücksichtigen und den ganzen Aufwand eben doch wieder haben.

                Oder habt ihr euch wirklich für eiens entschieden? Resp. wenn du sagst es geht nicht um Klassen oder Funktionen die es mitbringt, sondern um den eigentlichen Aufbau, und damit meinst du vermutlich auch die MVC Architektur, so kann man sich das ja auch mit Hilfe von Büchern selber auf die Beine stellen und hat wohl möglich danach ein grössers Verständnis dafür.

                Ich frage mich einfach ob der Aufwand nutzen, da bei jedem Projekt sowieso neu evaluiert werden muss, wirklich noch so riesig ist.

                Immer unter Vorbehalt dass ich bis jetzt meine Projekte nicht mit anderen teilen muss. ( Schliesst nicht aus dass ich die Projekte versuche so aufzubauen, inkl. Versionising mit Subversion etc. )

                Liebe Grüsse

                eXe
                It's not a bug. It's a feature!

                Kommentar


                • #9
                  Ein paar Anmerkungen:

                  - grundsätzlich lohnen sich Frameworks wenn man tagtäglich Websites zusammenklöppelt.
                  Der Grund ist einfach der, daß es extrem nervt zum hundersten mal z.B. ein Login zu scheiben.
                  Geht zwar auch per Copy/Paste, aber der Code muß dann auch zum neuen Projekt "passen".

                  - Frameworks gibt es auch prozedural. Ich hab jedenfalls ein prozedurales Grundgerüst (Framework) welches ich
                  bei all meinen Projekten wiederverwende. Dabei werden gemäß EVA-Prinzip die Dateien nach einem bestimmten,
                  immer gleichen, Ablauf includiert und nach html-(Template-)Ausgabe und PHP-Verarbeituing getrennt.
                  Im weitesten Sinne ist z.B. auch Typo3 ein (spezialisiertes) Framework.

                  - ein Framework bedeutet immer daß man sich an bestimmte Konventionen hält und daß man evtl.
                  eingeschränkt ist (auch wenn viele Verehrer des ZF behaupten, daß man mit dem ZF alles machen kann)
                  Du mußt selbst entscheiden ob Du z.B. mit dem URL-Gedöns des ZF klarkommst.

                  - Wenn Du an gundlegenden Funktionen des Frameworks etwas ändern willst bzw. mußt,
                  dann wirst Du beim nächsten Update des Frameworks die Sachen erneut von Hand ändern müssen.

                  - bei OOP-Frameworks mußt Du entgegen anderslautender Aussagen OOP beherrschen.
                  Es ist nicht mit dem Aufrufen von Methoden getan. Du mußt wissen was unter der Motorhaube
                  passiert um das Verhalten des Frameworks nachvollziehen zu können und um das Framework richtig anwenden zu können.
                  Wenn Du z.B. nicht weißt was ein Dispatcher und/oder Rooter macht, dann wirst Probleme haben.

                  - Es ist natürlich gelinde gesagt peinlich wenn Du einem Kunden/Auftraggeber sagen mußt daß die ein oder andere
                  Funktionalität von Deinem gewählten Framework nicht umsetzbar ist. Noch peinlicher wenn Dir das
                  gegen Ende des Projekts auffällt und der Kunde Dir sagt: "auf Seite xy gehts aber" ...

                  - aus Deiner Fragestellung spricht nicht gerade die unbändige Lust am Programmieren.
                  Wer sich wirklich für PHP interessiert, der probiert einfach mal ein Framework aus
                  und arbeitet sich ein. Es kommt mir so vor wie wenn Du lieber im Forum fragst statt Deine
                  eigenen Erfahrungen zu machen. Das kann Dir aber niemand abnehmen.
                  Eine if-else-Abfrage nimmt, ordentlich geschrieben eine Menge Platz weg. Platzsparend geht es mit einem ternären Operator.

                  Kommentar


                  • #10
                    Zitat von da.eXecutoR Beitrag anzeigen
                    Da es aber das universelle Framework nicht gibt ( korrigiert mich wenn doch ) wirst du beim nächsten Projekt evt. ein anderes Framework berücksichtigen und den ganzen Aufwand eben doch wieder haben.


                    Oder habt ihr euch wirklich für eiens entschieden? Resp. wenn du sagst es geht nicht um Klassen oder Funktionen die es mitbringt, sondern um den eigentlichen Aufbau, und damit meinst du vermutlich auch die MVC Architektur, so kann man sich das ja auch mit Hilfe von Büchern selber auf die Beine stellen und hat wohl möglich danach ein grössers Verständnis dafür.
                    Naja den Aufwand jedes mal ein komplettes Framework neu zu erfinden halte ich durchaus für ein eigenes Projekt
                    Schau dir doch mal an wie lange es manche Frameworks schon gibt, was sie an Features bieten und wieviele Zeilen Code da zusammengekommen sind ?

                    APF: 15.189
                    Kohana: 13.700
                    Code Igniter: 23.989
                    Cake: 128.400
                    Symfony: 154.721
                    Zend framework 1.10.4: 222.809
                    ....

                    Alles Lines of Code ohne Kommentare ausgelesen mit phploc
                    Dazu kommen dann ja noch Unittests, Doku, etc

                    Ich nutze schon länger das ZF für den größten Teil meines Codes, Symfony hab ich mir mal angeschaut und fand es was die Features und soweiter angeht super, aber war mir damals zu viel Config und zu viel CLI und ich hab gerade beim ZF noch lange nicht alles genutzt, allein die ganzen Services für teils kommerzielle APIs, etc. Symfony bietet z.b. einen haufen Module und Plugins ausserhalb des Frameworks noch.
                    Was ich mir in Zukunft wohl definitiv anschauen werde wird Symfony 2.0 in Kombination mit Doctrine 2.0 sein.

                    Es geht ja nicht immer darum ein komplettes Framework zu kennen und wenn man fit mit fremdem code ist und das ein oder andere schon gesehen hat, denke ich fällt es einem leichter zu wissen welches der Frameworks die man schon kennt den Anforderungen entspricht, welches irgendwas bietet was nützlich ist, etc. was man nicht will und soweiter.

                    Man macht die Vorentscheidung ja meistens auch auf Basis dessen, dass man ein paar "Grundanforderungen" hat die man abgenommen bekommen will, z.b. will man anstatt MVC ein HMVC, dann wird man wohl eher Richtung APF, CI oder Kohana schauen, wenn man nur php 5.2.X im Einsatz hat, wird wohl FLOW3, Lithium, etc rausfallen, wenn man wiederrum ein Framework das php 5.3 nutzt mit namespaces und soweiter will wird man FLOW3 wieder eher miteinbeziehen, wenn man weis dass der Entwicklungsprozess vorraussichtlich noch recht Lange dauern wird, kann man auch Frameworks mit einschließen die aktuell vielleicht noch beta-Status haben .... etc

                    Sprich eine Evaluierung wird dich nicht dazu zwingen eine beispielapp in 30 Frameworks zu machen, sondern ist erstmal ein grundlegender Vergleich der Anforderungen mit den Features des Frameworks, dazu reicht oftmals schon eine Lektüre der Webseite und des Manuals.

                    Ausserdem lassen sich ja manche auch recht gut nur in Teilen nutzen, viele Module vom Zend Framework kann man auch recht einfach ausserhalb
                    des ZF einsetzen ohne zwingend den ganzen MVC-Aparat zu nutzen, wenn der einem nicht gefällt z.b. wird Symfony für 2.0 Caching sowie Logging des ZF nutzen, also auch Frameworks nutzen mittlerweile Code von anderen, gerade Symfony: ORM: Doctrine / Propel, Mail: Swiftmailer und ab 2.0 dann Caching + Logging vom ZF.

                    Dazu bieten die meisten Frameworks ja irgendwelche Einstiegstutorials an die man meistens in ein paar Stunden durcharbeiten kann und die oftmals einem schon einen Eindruck davon vermitteln ob man das Framework erwägen möchte oder nicht, abseits der Features und Anforderungen.

                    Am Ende bleibt dann vielleicht eine Hand voll übrig womit man sich genauer beschäftigen will und wenn man nicht alleine arbeitet und es am ende patt zwischen den einzelnen Frameworks was gewünschte features und co angeht, dann läuft die Entscheidung halt zugunsten des Frameworks zu dem im Team am meisten Knowhow ist.

                    Ich denke auch nicht dass man das Gelingen eines Projektes nur davon abhängig machen kann für welches Framework man sich entschieden hat oder dass ein falsches Framework zwangsläufig das Ende eines Projektes bedeutet.

                    Für mich ist die Hauptaufgabe eines Frameworks oder einer Bibliothek mir Arbeit abzunehmen, mir Features/Pakete/Module/Plugins (oder was auch immer:P ) zur Verfügung zu stellen, mir die möglichkeit zu geben damit ein Ziel zu erreichen.
                    Im Endeffekt ist es fast immer ein Kompromiss, weil den Code den man selbst für perfekt erachtet, kann morgen schon ganz anders aussehen
                    Wenn ich im Laufe des Projekts feststelle dass eine Komponente des Frameworks doch nicht ganz meinen Anforderungen entspricht, es irgendwelche Probleme damit gibt, etc, kann man durchaus auch später entweder die Komponenten selbst erweitern/verändern/anpassen oder meistens mit etwas mehr Aufwand ganz ersetzen durch eine eigene Implementierungen oder ähnliches, dazu schreibt man ja auch objekt-orientierten Code, dazu denkt man über eine Trennung von Models, Views und Controller nach und auch dazu haben die meisten IDE's Refactoring-Funktionen

                    Egal wie man es dreht oder wendet, falsche Entscheidungen, sei es die Wahl einer Frameworks, einer Bibliothek, einer Komponente oder andere Fehler, sollten bei jedem Entwickler zu einem führen, nämlich Erfahrung! Und aus Fehlern lernt man bekanntlich besser als aus Erfolgen
                    robo47.net - Blog, Codeschnipsel und mehr
                    | Caching-Klassen und Opcode Caches in php | Robo47 Components - PHP Library extending Zend Framework

                    Kommentar


                    • #11
                      Also ich habe mich jetzt ja mit cakePHP beschäftigt und muss sagen das es doch sehr praktisch ist. Es meiner Meinung nach sehr flexibel und ich denke trotzdem recht kompakt. Das beste an diesem Framework ist jedoch (meiner Meinung nach) das es einen "zwingt" MVC ordentlich anzuwenden.

                      Die Einarbeitung ist dank der guten Dokumentation und #cakephp auch recht einfach.

                      Also für mich ist es das Framework meiner Wahl.

                      Und Template technisch denke ich ist PHP ausreichend genug (In cakePHP sind die Templates (views) ja auch mit PHP umgesetzt.
                      CEO @ XTAIN oHG

                      Kommentar

                      Lädt...
                      X