Tabelle in Variable abspeichern...

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

  • #16
    um eine Funktion "unabhängig" einsetzen zu können, darfst du keine
    weitere externe Variable als die Parameter der Funktion selbst voraussetzen.
    Durch den Einsatz einer oder mehrere globalen Variablen ist die Fkt. an
    dem aktuellen Projekt verbunden. Ausserdem wenn es mehrere solche
    Funktionen gibt, die die gleichen globalen Variablen verwenden/verändern
    verlierst du(u. U. deine Kollegen) die Übersicht, und der runtime Fehler ist schwer
    zu orten. Das tritt besonders dann auf, wenn du im Team an einem Projekt
    arbeitest, d.h. wenn du abundzu mal anonymen Mordandrohungen bekommst,
    dann sollst du dich nicht wundern

    Kommentar


    • #17
      Mmh, heisst das nun, das dieser Aufbau nicht zu empfehlen ist? Ich hätte eigentlich gedacht, das ich damit relativ unabhängig bin. Ich kann das Layout der Seite ja beliebig verändern und alles was ich machen muss ist die Variable $content einzufügen, die den eigentlichen Inhalt dann darstellt.

      Funktionen die zusammengehören landen auch alle in einer Datei und sind mit Kommentaren versehen. Also was muss an die Funktion übergeben werden (z.B. $KategorieID) und was wird zurückgegeben ($content).

      Ich bin wirklich noch auf der Suche nach dem "richtigen" Programmierstil. In erster Linie möchte ich natürlich irgendwann in der Lage zu sein fertige Features ohne Probleme in neue Projekte einzubinden. Sprich jemand möchte z.B. ein Gästebuch, ich muss dann nur ein paar Dateien kopieren und in die default.php die neuen Ereignisse einbeziehen. Wenn auf den Link Gästebuch geklickt dann mache das....

      Momentan bin ich noch nicht 100% auf dem richtigen Weg, da bin ich mir sicher, aber wie setzt man das auch richtig um??

      Kommentar


      • #18
        Mmh, heisst das nun, das dieser Aufbau nicht zu empfehlen ist? Ich hätte eigentlich gedacht, das ich damit relativ unabhängig bin. Ich kann das Layout der Seite ja beliebig verändern und alles was ich machen muss ist die Variable $content einzufügen, die den eigentlichen Inhalt dann darstellt.
        Bei deinem Aufbau wärs für einen normalen Programmierer relativ schwer zu sehen (besonders bei längeren Funktionen) was verändert wird.

        Wenn man sich den Code deiner Datei anschauen würde, würde man relativ ratlos sein, wo auf einmal $tabelle herkommt. Bei $tabelle = maketable(); würde jeder sich die Funktion anschauen und sich anschauen was da passiert.

        Das ist für andere Programmierer einfach besser zu verstehen...


        Floriam
        PHP Handbuch - MySQL Handbuch - PHP Einsteiger Tutorial - CSS Referenz - Browserunterstützung von CSS

        Kommentar


        • #19
          Hi Floriam,

          habe das jetzt so umgesetzt (default.php):

          PHP-Code:
          // --------------------------------------------------------------------------
          // -------- Auswahl eines Beitrages aus der Übersicht -----------
          // --------------------------------------------------------------------------

          if ($aktion == "3")
              {
               include(
          "tpl/site.tpl"); // body tag und äussere Tabelle
               
          include("tpl/top.tpl");  //obere Navigation
               
          include ("tpl/navi.tpl"); // linke Navigation

               
          $content=ansicht_artikel($ItemNr);

               include (
          "tpl/content2.tpl");  // Seiteninhalt, hier steht echo $content
              
               

          aktion=3 wird gesetzt, wenn man auf einen Beitrag aus der Liste klickt.

          Ist das nun ein einigermassen guter Stil oder verrenne ich mich da in etwas. Mir persönlich gefällt er ganz gut.

          Ach ja, die default.php ist komplett so wie oben umgesetzt. In den tpl Dateien ist der HTML Code, Seiteninhalte ($content) sollen über Funktionen eingefügt werden, andere Seiteninhalte wie z.B. Drop Down Felder werden aus der DB ausgelesen und liegen in jeweils getrennten Dateien, die über ein include eingefügt werden.

          Kommentar


          • #20
            $aktion wird doch entweder über ein Formular oder über die Adresszeile verändert oder?

            Falls die Variablen nachher in der Adresszeile erscheinen würd ichs mit $_GET['aktion'] aufrufen. Falls man die Variablen nirgendswo sehen kann per $_POST['aktion']

            Ansonsten müsstest du dir nur noch das verwenden von Templates anschauen. Was du benutzt eine Misch-Masch Version...



            Floriam
            PHP Handbuch - MySQL Handbuch - PHP Einsteiger Tutorial - CSS Referenz - Browserunterstützung von CSS

            Kommentar


            • #21
              Du hast natürlich völlig Recht, das das Misch-Masch ist. Habe das mit den Templates noch nicht ganz durchschaut. Als Frischling gibt es halt so vieles zu lernen. Tja, so ist dann irgendwie dieser Stil entstanden (bzw. entsteht noch).

              Mit dem $_GET['...'] werde ich noch einbauen, genauso wie ich auch noch die globalen Variablen abschalten muss. Ach ja, Übertragung erfolgt meistens über die URL, teilweise aber auch über Formulare.

              Kann ich mit meinem verwendeten Stil eigentlich leicht auf "richtige" Templates umschwenken?

              Kommentar


              • #22
                Kann ich mit meinem verwendeten Stil eigentlich leicht auf "richtige" Templates umschwenken?
                Je nachdem was für eine Art Templates du nimmst. Aber eigentlich sollte es nicht so schwer sein

                Ich speicher immer den Inhalt des Templates als Datei (file_get_contents()), und lass ihn dann so umwandeln, als wär er PHP Code (eval()).


                Dein Template würde dann in etwa so außsehen:

                <html>
                <head>
                <title>
                $sitetitle
                </title>
                </head>
                <body>
                $content
                </body>
                </html>

                $sitetitle und $content würdest du in deiner PHP Datei ganz normal definieren, bevor du eval() anwendest...


                Floriam
                PHP Handbuch - MySQL Handbuch - PHP Einsteiger Tutorial - CSS Referenz - Browserunterstützung von CSS

                Kommentar


                • #23
                  @Floriam,

                  ich werde mir das mit den Templates für's nächste Mal aufheben. Die jetzige Geschichte ziehe ich aber mit meinem Stil durch. Ich danke für alle bisherigen Kommentare und wünsche allen ein schönes Wochenende.

                  Kommentar

                  Lädt...
                  X