Ankündigung

Einklappen
Keine Ankündigung bisher.

Arbeit mit Framework empfohlen oder nicht?

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

  • Arbeit mit Framework empfohlen oder nicht?

    Hallo,

    sorry falls dieses Thema hier falsch platziert sein sollte, ich dachte nur es klingt eher wie "Wie setzt man am besten XY um" und gehört damit wenn dann ins Off-Topic, da man es ja nicht in die anderen Posten soll. (Falls es falsch ist bitte wenn möglich einfach verschieben)

    Erst einmal zu mir: Ich programmiere seit ca. 5 Jahren in PHP, habe mir aber alles über das Internet selbst beigebracht (zu 98%) und habe so auch leider erst vor kurzem das erste mal von Frameworks gehört Nun wurde mir dringend empfohlen, auf ein Framework umzusteigen, da es die Sicherheit und Performance enorm verbessern soll... Ich habe inzwischen auch dazu gegooglet, usw. nur kann ich mich nicht wirklich mit den Frameworks anfreunden, da ich in PHP bis jetzt nur nicht ObjektOrientiert Programmiert habe.... (Kenne es aber aus Java)

    Meine bisherige Vorgehensweise ist grob erklärt so (Es handelt sich dabei um eine Android App, geschrieben in Java, die mit einem Server kommuniziert, indem sie einen "Websiteaufruf" macht und einen JSON-String ausliest):
    Der Nutzer loggt sich mit Benutzername und Passwort ein und erhält dann ein Token, das mehrere Hundert Zeichen beinhaltet. Anhand dieses Tokens und der User-ID wird er anschließend bei der Kommunikation mit dem Server identifiziert und das Token wird ab und zu neu generiert. Alle Daten die mittels POST an meinen Server übermittelt werden escape ich dabei (mysqli_real_escape_string) und prüfe sie anschließend auf eine passende Länge, etc. - Die Daten werden dabei mit SSL verschlüsselt übertragen. (Mehrmals benötigte Scripte lager ich aus und binde sie mit include ein)

    Nun habe ich mich mit einen Bekannten darüber unterhalten und dieser hat mich fast schon ausgelacht, weil ich bis jetzt nicht mit PHP-Frameworks arbeite, sondern eben auf diese Art... Und er meinte, dass er mir so ein Script "innerhalb ein paar Minuten zerlegen könnte" also quasi "hacken"...

    Da ich mich aber nicht alleine auf seine Meinung verlassen wollte dachte ich ich frag hier im Forum mal nach.... Was meint ihr dazu? Würdet ihr mir empfehlen diese Vorgehensweise (v.A. was Sicherheit & Performance betrifft) zu ändern und mit Frameworks zu arbeiten? Wenn ja, welches Framework würdet ihr für Android <-> Serverkommunikation (aber auch Website) empfehlen? Mir ist da Yii ins Auge gefallen - Wichtig wäre v.A., dass eine JSON-Ausgabe möglich ist

    Liebe Grüße und Danke schon einmal für Antworten


  • #2
    Es gibt schon einige Themen hier betreffend Frameworks, schau dir doch die mal an.

    Zu deinen Anforderungen:
    • sicherheitsmäßig werden dir die Frameworks bestimmt voraus sein, einfach weil viele Leuten den Code schon gesehen haben.
    • Performanz wird sich damit nicht unbedingt steigern lassen, aber das sollte dich nicht unbedingt stören. Fast immer tauschst du Komfort beim Entwickeln gegen Performanz. Das heißt nicht, das mit Frameworks keine hochpeformanten Lösungen möglich sind, aber ich würde mir von einem Umstieg auf ein Framework (und OOP) keinen Performanzvorteil erwarten.
    • JSON ist sehr verbreitet, wo PHP sogar built-in Funktionen mitbringt. Du kannst dich darauf verlassen, das jedes der größeren Frameworks Möglichkeiten bietet einfach eine JSON-Ausgabe zu produzieren.

    Kommentar


    • #3
      Ich programmiere seit ca. 5 Jahren in PHP, ... habe so auch leider erst vor kurzem das erste mal von Frameworks gehört
      Das finde ich trotz Deines autodidaktischen Ansatzes schon erstaunlich. Es mag jetzt altklug klingen, aber in der Softwareentwicklung sollte man schon von Zeit zu Zeit mal über den Tellerrand schauen.

      das mehrere Hundert Zeichen beinhaltet.
      Wozu denn das - Und das zu Zeiten, wo man im mobilen Netzt auf den Traffic achten sollte?! Dann benutz lieber JWT (https://jwt.io/) Dann kannst Du Dir so ein Gefummel sparen.

      dieser hat mich fast schon ausgelacht, weil ich bis jetzt nicht mit PHP-Frameworks arbeite, sondern eben auf diese Art...
      Lass Dich nicht ärgern - Es gibt immer welche, die überheblich sind. Hätte er Dir lieber mal einen Vorschlag gemacht, wie Du es ändern kannst. Mal ganz abgesehen davon kommt es auf Dein Projekt an, ob sich ein Framework lohnt oder nicht.

      Und er meinte, dass er mir so ein Script "innerhalb ein paar Minuten zerlegen könnte" also quasi "hacken"...
      Ich kenne Dein Skript nicht, aber solch generell Aussagen halte ich für Schwachsinn einhergehend mit Arroganz. Soll er es doch einfach mal beweisen - Quatschen kann jeder.

      Zu Deiner eigentlichen Frage: Es kommt darauf an, was Du machen willst. Wenn Du lediglich ein paar einfache Abfragen machen willst und die Ergebnisse dann zurück geben, dann lohnt sich das nicht.

      Wenn sich ein Framework bei Deinem Projekt anbieten sollte, gibt es natürlich etliche. Allerdings bildet sich Laravel (Version > 5) immer mehr als Ablösung bzw. Konkurrent zu Symfony als Standard heraus. Laravel ist auch (aus meiner Erfahrung mit mehreren Projekt damit und vorher Symfony2 & 3) meine persönliche Empfehlung.

      Kommentar


      • #4
        Danke erstmal für die Antworten.

        Tropi habe mir natürlich auch vor der Frage etliche Artikel über Frameworks durchgelesen

        xm22 Ja finde es mittlerweile auch erstaunlich, dass ich nie etwas davon gehört hatte... Liegt evtl. daran, dass ich mich in den letzten Jahren eher versucht habe auf Android App-Entwicklung zu konzentrieren und eben nur n paar Sachen serverseitig zu machen - Ich schätze, dass pro Script ca. 5 SQL Abfragen nötig sein werden => Nutzer können sich gegenseitig Nachrichten schreiben, etc. sowas in die Richtung eben. Danke auch für den Vorschlag mit Laravel, ich sehe es mir nachher nochmal an Auch Danke für den Tipp mit JWT

        Kommentar


        • #5
          Wenn du nur eine API bereitstellen möchtest ist evtl. auch Lumen oder Silex etwas für dich, dabei kannst du Overhead einsparen gegenüber einem vollen Laravel oder Symfony.

          Kommentar


          • #6
            Gucke ich mir nachher mal an, Danke

            Kommentar


            • #7
              Ich kann Silex empfehlen. Habe damit auch ein kleines Backend für eine Android-App entwickelt. Es hilft mir immer extrem wenn man so kleine Wegweiser für die Struktur hat und diesen gluecode nicht selbst schustern muss.
              Lumen wird dem wohl in nichts nachstehen.

              Ich kenne Dein Skript nicht, aber solch generell Aussagen halte ich für Schwachsinn einhergehend mit Arroganz. Soll er es doch einfach mal beweisen - Quatschen kann jeder.
              Yes.
              Und selbst wenn er das Skript hacken könnten, das Framework macht die Anwendungen selten automatisch sicher, da muss man immer noch entsprechenden Code schreiben.
              Relax, you're doing fine.
              RTFM | php.de Wissenssammlung | Datenbankindizes | Stay fit

              Kommentar


              • #8
                In dem Kontext möchte ich gerne eines Anmerken:

                Du wirst garantiert sehr weit kommen, ohne ein Framework einzusetzen (nehmen wir Wordpress als Beispiel). Du lagerst dabei einzelne Funktionen aus und bindest diese mit include oder require ein. Das mag OK sein und auch gut funktionieren. Ob dein Bekannter dir das in Sekunden zerlegen kann... Ist vielleicht etwas gewagt, man kann auch ohne Framework sicher programmieren.

                Symfony z.B. ist kein Framework, sondern eine Sammlung von Libraries, die dir Arbeit abnehmen (Session-Management, HTTP, Firewall, Routing, ...). Das bringt dir einfach eine Boilerplate mit, worauf du sehr schnell gute Projekte realisieren kannst. Zudem standardisieren diese Frameworks oftmals die Art und Weise, wie etwas programmiert wird, sodass andere Entwickler sehr schnell in den Code reinkommen (z.B. Controller immer im Ordner Controller, ...).

                Und das bringt mich zum Punkt: Der Einsatz eines Frameworks ist viel weniger eine Frage der Sicherheit, sondern ein Aspekt der Wiederverwendbarkeit, der Lesbarkeit, der Strukturiertheit und nicht zuletzt der Testbarkeit des Codes. Also schlussendlich der Qualität des Codes. Dabei aufzugreifen, was damit noch alles verbunden ist, würde vermutlich den Kontext sprengen.
                GitHub.com - ChrisAndChris - RowMapper und QueryBuilder für MySQL-Datenbanken - Vagrant AMPP-Stack (Apache, MySQL, PHP, PgSQL), fully configured

                Kommentar


                • #9
                  Wenn man beim Entwickeln grundsätzlich auf fertige Sachen wie Frameworks, Templates oder JS-Zeugs setzt, ist man im Zweifel effizienter und flexibler, als jemand der stets alles selbst entwickelt.

                  Diese beiden Punkte der Effizienz und Flexibilität würde ich dem Beitrag von ChristianK, der die Vorteile der Framework-gestützten Entwicklung imho sonst extrem prägnant auf den Punkt bringt, noch hinzufügen wollen.

                  Kommentar


                  • #10
                    Und ich möchte noch anmerken das Silex demnächst eingestellt wird, da Symfony4 mit Flex ja jetzt die Micro-Kernel Architektur mitbringt. Ich würde daher nicht unbedingt auf Silex bei einem neuen Projekt setzen.

                    Kommentar


                    • #11
                      Zitat von Zeichen32 Beitrag anzeigen
                      Und ich möchte noch anmerken das Silex demnächst eingestellt wird, da Symfony4 mit Flex ja jetzt die Micro-Kernel Architektur mitbringt. Ich würde daher nicht unbedingt auf Silex bei einem neuen Projekt setzen.
                      Shit, hatte mich so dran gewöhnt.
                      wo steht denn das ?

                      Kommentar


                      • #12
                        Hab es auch nur aus Blogs:
                        https://github.com/silexphp/Silex/issues/1578
                        https://leftontheweb.com/blog/2017/1...ng-live-mylex/
                        https://www.reddit.com/r/PHP/comment...x_eol_in_2018/

                        Kommentar


                        • #13
                          Danke für die Links, sollte wohl mal Blogs lesen

                          Kommentar


                          • #14
                            Danke für alle weiteren Antworten

                            Kommentar

                            Lädt...
                            X