Ankündigung

Einklappen
Keine Ankündigung bisher.

Effizienter entwickeln mit php und mysql

Einklappen

Neue Werbung 2019

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

  • Effizienter entwickeln mit php und mysql

    Hallo,

    ich komme aus der objektorientieren Programmierung und habe professionelle Kenntnisse mit Java, c#, c++ und co.

    Autodidaktisch versuche ich jetzt, php zu lernen.

    Habe erst mit kleinen Arbeiten angefangen, der "Umstieg" fällt nicht wirklich schwer.

    Mittlerweile habe ich mir ein Login- und Registriersystem in Verbindung mit mySql-Datenbanken gebaut, irgendwann soll daraus ein kleines Browsergame werden.

    Vom Schwierigkeitsgrad aus durchaus machbar, geht es mir jedoch um die Effizienz und sauberen Code.

    Ein Beispiel: Der Befehl session_start();

    Dieser Befehl muss auf jeder Seite erneut ausgeführt werden, damit ich mit Sessions arbeiten kann.
    Bei einem Browsergame wird man höchstwahrscheinlich dauerhaft mit Sessions arbeiten müssen, gibt es nicht irgendeine Möglichkeit, einfach auf JEDER php-Seite automatisch diesen Befehl einzubinden?

    Ich stecke noch nicht so tief drin in php, allerdings könnte sich sowas zu einem ziemlichen Rattenschwanz entwickeln; Wer weiß, was ich irgendwann noch standardmäßig für Befehle in meinen php-Skripten brauche?

    Ein weiteres Beispiel, SQL-Querys:

    PHP-Code:
    if($stmt $mysqli -> prepare("SELECT id, nickname, passwort FROM user WHERE Nickname=?")) 
        {
            
    $nickname $_POST['nickname'];
            
    $passwort md5($_POST['passwort']);
            
    $stmt -> bind_param("s"$nickname);
            
    $stmt -> execute();
            
    $res $stmt->get_result();
            
    $row $res->fetch_assoc();
            
    $id $row['id'];
            
    $passwortsvr $row['passwort'];
            
    $stmt -> close();
            
    $mysqli->close();
            
        } 
    ein kleiner Auszug aus meinem Login-Skript.
    Der Programmierer in mir schreit danach, diese Skripte in irgendeiner Art Funktion oder Methode unterzubringen.

    Bisher habe ich in meinen Skripten jede SQL-Anweisung wie oben verfasst, für jeden einzelnen Schritt, d.h. für den Login, für die Registrierung, für die Abfrage einzelner Nutzerdaten. Auch hier, hohe Rattenschwanz-Gefahr. Was ist, wenn sich aus irgendwelchen Gründen mal der Name der Tabelle "user" ändern sollte? Dann muss ich unter Umständen mal dutzende Querys anpassen.

    Eine winzige Erleichterung ist, dass ich mir die mysqli-Datei über den Befehl include() holen kann, aber das war's auch schon.

    Weiterhin wüsste ich gerne, wie ihr als erfahrene php-User eure Dateien organisiert (rein Ordnertechnisch).
    Eine Organisierung wie in Java mit package-Dateien kann ich mir in php zur Zeit nicht vorstellen, habt ihr vielleicht Anreize?

    Zusammenfassend geht es mir weniger um die Programmierung an sich, als um das drumherum und wie man sich die Arbeit als Entwickler vereinfachen kann.
    Wie man die Wartung der Programme vereinfacht, usw.

    Würde mich über eure Erfahrungswerte freuen.

    Gruß,

    Bolty

  • #2
    Dieser Befehl muss auf jeder Seite erneut ausgeführt werden, damit ich mit Sessions arbeiten kann.
    Bei einem Browsergame wird man höchstwahrscheinlich dauerhaft mit Sessions arbeiten müssen, gibt es nicht irgendeine Möglichkeit, einfach auf JEDER php-Seite automatisch diesen Befehl einzubinden?
    Wenn Du über eine index.php bzw. bootstrap.php die notwendigen Inhalte einbindest, reicht es in der index.php/bootstrap.php das session_start() und session_write_close() einzusetzen.
    Welche Inhalte angezeigt werden sollte zentral über eine solche Datei gesteuert werden, siehe require_once bzw. include
    Ein weiteres Beispiel, SQL-Querys:

    ein kleiner Auszug aus meinem Login-Skript.
    Der Programmierer in mir schreit danach, diese Skripte in irgendeiner Art Funktion oder Methode unterzubringen.
    Was spricht dagegen?!
    ich komme aus der objektorientieren Programmierung und habe professionelle Kenntnisse mit Java, c#, c++ und co.
    Dann solltest Du Klassen und Methoden gut kennen! Ok PHP ist weder Java, noch C++ oder C#, aber OOP ist mittlerweile mit PHP schon recht gut umsetzbar.

    Ein hoffentlich hilfreicher Link zur Einarbeitung in Klassen und Methoden von PHP.

    Eine Organisierung wie in Java mit package-Dateien kann ich mir in php zur Zeit nicht vorstellen, habt ihr vielleicht Anreize?
    Ist natürlich nicht dasselbe, aber man könnte Packages von Java in PHP grob betrachtet mit Namespaces und Interfaces umsetzen.
    Competence-Center -> Enjoy the Informatrix
    PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

    Kommentar


    • #3
      wenn du schon professionell programmiert hast, dann kannst du dir auch direkt die unterschiedlichen Patterns in PHP angucken. Zum Beispiel das Factory Pattern oder das Strategy Pattern.

      Kommentar


      • #4
        Wenn du wirklich effizient entwickeln willst, solltest du ein Framework benutzen. Ich denke mal, die gibts in Java und C++ auch.
        Im Webumfeld kommen vorallem MVC-Frameworks zum Einsatz, wobei du aus relativ vielen Alternativen auswählen kannst. Diese unterscheiden sich im Umfang, der Erweiterbarkeit und weiteren Details.

        Bekannte Frameworks die du mal Googlen könntest sind: Zend Framework, Symfony, Laravel, Silex. Es gibt aber noch deutlich mehr: http://www.sitepoint.com/best-php-frameworks-2014/

        Ich empfehle Laravel. Man findet sich meiner Meinung nach relativ schnell rein und es gibt viele Tutorials und BlogPosts dazu im Intenet.

        Kommentar


        • #5
          ...und dann gibts da noch das APF!
          Competence-Center -> Enjoy the Informatrix
          PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

          Kommentar

          Lädt...
          X