Ankündigung

Einklappen
Keine Ankündigung bisher.

Framework Ja oder Nein?

Einklappen

Neue Werbung 2019

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

  • Framework Ja oder Nein?

    Hallo,

    ich programmiere schon seid einigen Jahren PHP und möchte nun mit einem neuen Projekt anfangen.

    So richtig habe ich noch nie mit einem Framework gearbeitet, daher wollte ich es bei diesem Projekt gerne mal ausprobieren.

    Ich habe bisher immer mein eigenes kleines objekt orientiertes "Framework" verwendet. Es hatte eine ordentliche Strukturierung und eigentlich alles, was ich brauche. Ich habe als Template-Engine Smarty verwendet, keine Models (habe alle Datenbankabfragen mit PDO gemacht), diverse Helferklassen wie z.B. PHPMailer und im Frontend Boostrap und JQuery verwendet.
    Der Hauptgrund, weshalb ich über ein Framework nachdenke, ist die Verwendung von Models. Ich habe mir bereits CakePHP angeguckt und auch schon ein Buch dazu gekauft und gelesen. Die Struktur finde ich toll (super Datenbank Klasse, Auth-Komponente, .... ), allerdings möchte ich eigentlich das Framework nur für die Backend Programmierung verwenden. Mir gefallen die ganzen HTML/JS Helper nicht.

    Ich finde es einfach irgendwie zu unflexibel/überladen/(fast schon nervig):
    - z.B. möchte ich ganz viel über AJAX machen --> Daher finde ich z.B. die ganzen automatischen statischen Formularvalidierungen eher nervig als Hilfreich
    - genauso wie das automatische Einfügen der entsprechenden Style Sheets und JS Datein (Es müssen eh alle auf der Startseite sein, wenn so viel über AJAX läuft --> also würde ich die Links direkt in die Template Datei schreiben).
    - Ich würde gerne zwei Login Bereiche (User/Admin) getrennt voneinander laufen lassen --> Da hat die Auth/Acl Klasse aber Probleme mit, ....)

    Es gibt noch sehr viele andere Sachen, die mich irgendwie stören.


    Kann jemand mein Problem verstehen? Gibt es kleine MVC Frameworks, die sich nur um die Backend Programmierung kümmern (Datenbank, Session, Cookies, E-Mail, ...)? Oder doch lieber ein eigenes MVC Framework (Gibt es fertige Datenbank Klassen, die ihr mir empfehlen könnt? (Beziehungen sollten auf jeden Fall dabei sein))? Oder stelle ich mich einfach an, und ich sollte Smarty einfach verwenden und die Komponenten die ich nicht mag, einfach ausschalten?

    Vielen Dank schon mal
    LG
    rob234

  • #2
    Ich kenne CakePHP kaum aber sicherlich ist auch dort nichts ("statischen Formularvalidierungen") Pflicht. Und schon gar nichts in Templates ("automatische Einfügen der entsprechenden Style Sheets und JS Datein"). Bei den großen Frameworks gibt's immer Alternativen zu den mitgelieferten User-Management-Systemen - also Third Party Packages. Geht auch gar nicht anders - bei Laravel ist das User-System viel zu primitiv als dass es nicht oft erweitert oder ersetzt werden müsste.

    Schau dir mal andere Frameworks an. Symfony, Laravel, FuelPHP, etc. Vielleicht sagt dir eines davon mehr zu. Oder du schaust explizit nach Micro-Frameworks.

    Kommentar


    • #3
      Du musst nicht dauernd den Hammer mitschleppen, aber wenn es einen Nagel einzuschlagen gilt, bist du froh einen im Werkzeugkasten zu haben.
      Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

      Kommentar


      • #4
        Zitat von rob234 Beitrag anzeigen
        Kann jemand mein Problem verstehen? Gibt es kleine MVC Frameworks, die sich nur um die Backend Programmierung kümmern (Datenbank, Session, Cookies, E-Mail, ...)? Oder doch lieber ein eigenes MVC Framework (Gibt es fertige Datenbank Klassen, die ihr mir empfehlen könnt? (Beziehungen sollten auf jeden Fall dabei sein))? Oder stelle ich mich einfach an, und ich sollte Smarty einfach verwenden und die Komponenten die ich nicht mag, einfach ausschalten?

        Vielen Dank schon mal
        LG
        rob234
        Frameworks
        - Full Stack: http://laravel.com/ ( (h)MVC )
        - common: http://auraphp.com/ ( (h)MVC )
        - micro: http://silex.sensiolabs.org/ ( (h)MVC )
        - minimalistic: http://flightphp.com/ ( MVC )

        Datenbank / ORM:
        - Full-Stack: http://www.doctrine-project.org/
        - common: http://redbeanphp.com/
        - minimalistic: http://www.phpactiverecord.org/

        Knowledge:
        - http://de.wikipedia.org/wiki/Model_View_Controller
        - http://de.wikipedia.org/wiki/Data_Context_Interaction
        - http://de.slideshare.net/damiansrome...ucture-for-mvc
        - http://www.sitepoint.com/the-mvc-pattern-and-php-1/
        - http://www.sitepoint.com/dci-the-evo...nted-paradigm/
        - http://www.sitepoint.com/introduction-redbean/

        Viel Spass.
        [URL="https://gitter.im/php-de/chat?utm_source=share-link&utm_medium=link&utm_campaign=share-link"]PHP.de Gitter.im Chat[/URL] - [URL="https://raindrop.io/user/32178"]Meine öffentlichen Bookmarks[/URL] ← Ich habe dir geholfen ? [B][URL="https://www.amazon.de/gp/wishlist/348FHGUZWTNL0"]Beschenk mich[/URL][/B].

        Kommentar


        • #5
          An Template Engines gibt es auch nicht nur Smarty. Der Artikel hier liest sich ganz seriös und aktuell:

          - http://www.sitecrafting.com/blog/top...mplate-engines

          Das ist aber auch nicht erschöpfend.

          Kommentar


          • #6
            Kann jemand mein Problem verstehen? Gibt es kleine MVC Frameworks, die sich nur um die Backend Programmierung kümmern (Datenbank, Session, Cookies, E-Mail, ...)? Oder doch lieber ein eigenes MVC Framework (Gibt es fertige Datenbank Klassen, die ihr mir empfehlen könnt? (Beziehungen sollten auf jeden Fall dabei sein))? Oder stelle ich mich einfach an, und ich sollte Smarty einfach verwenden und die Komponenten die ich nicht mag, einfach ausschalten?
            Was du da u.a. beschreibst, kann jedes gute Framework.
            Ich würde dir Symfony2 empfehlen, aber du musst selber schauen, welches zu dir am besten passt.
            Wie @mermshaus schon sagte, gibt es (besser) Alternativen als Smarty.

            http://twig.sensiolabs.org/ (Twig)
            http://laravel.com/docs/4.2/templates (Blade)
            http://mustache.github.io/ (Mustache)

            Du könntest aber auch eine Serverseitige Template Engine weglassen und alles was View angeht, mit AngularJS (https://angularjs.org/) lösen. Dann könntest du nur noch via AJAX mit dem Server kommunizieren und für die Authentifizierung ein API Token nutzen
            https://github.com/Ma27
            Javascript Logic is funny:
            [] + [] => "", [] + {} => object, {} + [] => 0, {} + {} => NaN

            Kommentar


            • #7
              @ma27

              Und warum genau ist Twig, Blade oder Mustache besser als Smarty ?
              [URL="https://gitter.im/php-de/chat?utm_source=share-link&utm_medium=link&utm_campaign=share-link"]PHP.de Gitter.im Chat[/URL] - [URL="https://raindrop.io/user/32178"]Meine öffentlichen Bookmarks[/URL] ← Ich habe dir geholfen ? [B][URL="https://www.amazon.de/gp/wishlist/348FHGUZWTNL0"]Beschenk mich[/URL][/B].

              Kommentar


              • #8
                http://www.smarty.net/forums/viewtopic.php?p=75542

                Ganz ehrlich, ich finde keine wirklich gut, bei der es - wie im Thread man sieht - möglich ist, SQL Queries oder PHP codes innerhalb des Templates, mit einer nativen Templatesprache, auszuführen.
                https://github.com/Ma27
                Javascript Logic is funny:
                [] + [] => "", [] + {} => object, {} + [] => 0, {} + {} => NaN

                Kommentar


                • #9
                  Muss man ja nicht.
                  Die mysql_* Erweiterung ist veraltet!
                  Besser: mysqli_* oder (noch besser) PDO

                  Kommentar


                  • #10
                    Zitat von Ma27 Beitrag anzeigen
                    http://www.smarty.net/forums/viewtopic.php?p=75542

                    Ganz ehrlich, ich finde keine wirklich gut, bei der es - wie im Thread man sieht - möglich ist, SQL Queries oder PHP codes innerhalb des Templates, mit einer nativen Templatesprache, auszuführen.
                    Und wenn du dir das jetzt mal genauer ansiehst ist das eine Smarty-Adaption die das kann, nicht Smarty selbst.

                    Erneut interessiert mich: Warum sind "andere" Template-Engines jetzt besser als Smarty ?
                    [URL="https://gitter.im/php-de/chat?utm_source=share-link&utm_medium=link&utm_campaign=share-link"]PHP.de Gitter.im Chat[/URL] - [URL="https://raindrop.io/user/32178"]Meine öffentlichen Bookmarks[/URL] ← Ich habe dir geholfen ? [B][URL="https://www.amazon.de/gp/wishlist/348FHGUZWTNL0"]Beschenk mich[/URL][/B].

                    Kommentar


                    • #11
                      Wegen dem Quellcode.

                      Und wegen dem fehlenden Composer-Support.

                      Kommentar


                      • #12
                        hä wah ? https://packagist.org/packages/smarty/smarty

                        Nunja, ich bin Twigger. Dennoch ist Smarty 3 nicht zu verachten und schon so ziemlich das was jemand der Twig nutzt sich unter einer konkurrenzfähigen Template-Engine zu Twig vorstellt.
                        [URL="https://gitter.im/php-de/chat?utm_source=share-link&utm_medium=link&utm_campaign=share-link"]PHP.de Gitter.im Chat[/URL] - [URL="https://raindrop.io/user/32178"]Meine öffentlichen Bookmarks[/URL] ← Ich habe dir geholfen ? [B][URL="https://www.amazon.de/gp/wishlist/348FHGUZWTNL0"]Beschenk mich[/URL][/B].

                        Kommentar


                        • #13
                          Um mal hoch-wissenschaftlich zu argumentieren: Smarty ist unfassbar hässlich!
                          Die mysql_* Erweiterung ist veraltet!
                          Besser: mysqli_* oder (noch besser) PDO

                          Kommentar


                          • #14
                            Wtf? Schau mal auf das Datum der Tags...

                            Kommentar


                            • #15
                              [URL="https://gitter.im/php-de/chat?utm_source=share-link&utm_medium=link&utm_campaign=share-link"]PHP.de Gitter.im Chat[/URL] - [URL="https://raindrop.io/user/32178"]Meine öffentlichen Bookmarks[/URL] ← Ich habe dir geholfen ? [B][URL="https://www.amazon.de/gp/wishlist/348FHGUZWTNL0"]Beschenk mich[/URL][/B].

                              Kommentar

                              Lädt...
                              X