Rolf B: header Location in while Schleife?

Beitrag lesen

Hallo Bastian,

das Problem ist, dass eine Klasse nur einmal deklariert werden kann. Und mit jedem include würde sie neu deklariert.

Schnellste Lösung: Ziehe die Klasse (vom require von mc_table.php bis zum Ende der class Deklaration, also das } vor der new Zeile aus test.php) heraus und speichere diesen Teil in einer eigenen PHP Datei. Und diese bindest Du im test.php mit require_once ein.

Grundsätzlich solltest Du aber ein paar Blöcke bilden.

  • Deklaration der Klasse
  • Eine Funktion, die die Plausis durchführt
  • Eine Funktion, die ein PDF generiert

Wenn die beiden Funktionen riesig sind, kann es für die Lesbarkeit besser sein, sie in kleinere Funktionen aufzuteilen. Wie einfach das ist, hängt davon ab, wie stark die Kohärenz in diesen Funktionen ist (d.h. wie sehr hängen die einzelnen Code-Abschnitte datenmäßig miteinander zusammen). Ist die Kohärenz hoch, muss man zu viele Daten als Parameter durch die Gegend schieben. Ist sie niedrig, ist das Ausgliedern von Teilfunktionen gut machbar. Das kannst Du nur selbst beurteilen.

Diese drei Blöcke kannst Du in einer PHP Includedatei hintereinander setzen, oder in drei getrennte Includes. Da es relativ eng zusammenhängt, würde ich vermutlich ein Include bauen. Nennen wir es mal "pdf_fabrik.php". Und dieses Include TUT SONST NICHTS. Das ist einer der PHP Styleguides (PSR-1: Side Effects). Entweder deklariert eine PHP Datei Dinge (Konstanten, Klassen, Funktionen) Oder sie führt sie aus. Aber nicht beides. Dein test.php tut beides und prompt beweist sich der Sinn von PSR-1.

Nach der Trennung würde test.php dann nur noch die pdf_fabrik inkludieren, die ID aus $_GET holen, die Plausi aufrufen und dann das PDF erzeugen.

In deinem Batch würdest Du die pdf_fabrik ebenfalls inkludieren. Ob Du dann Plausis ausführen musst, ist Dir überlassen. Vermutlich nicht. Und dann rufst Du in der Schleife fünf Mal die Funktion zum Erzeugen eines PDFs auf.

Rolf

--
sumpsi - posui - obstruxi
0 85

header Location in while Schleife?

Bastian
  • php
  1. 0
    Auge
    1. 0
      Bastian
      1. 0
        Robert B.
      2. 0
        Auge
  2. 0
    Robert B.
    1. 0
      Auge
  3. 0
    Felix Riesterer
  4. 1
    Rolf B
    1. 0
      Bastian
      1. 0
        Raketenwilli
        1. 0
          Bastian
  5. 0
    Raketenwilli
    1. 0
      Bastian
      1. 0
        Raketenwilli
        1. 0
          Bastian
          1. 0
            Raketenwilli
            1. 0
              Bastian
              1. 0
                Raketenwilli
                1. 0
                  Bastian
                  1. 0
                    Bastian
                  2. 0
                    Rolf B
                    1. 0
                      Bastian
                      1. 0
                        Rolf B
                        1. 0
                          Bastian
                          1. 0
                            Rolf B
                            1. 0
                              Bastian
                              1. 0
                                Rolf B
                                1. 0
                                  Bastian
                                  1. 0
                                    Raketenwilli
                                    1. 0
                                      Bastian
                                      1. 0
                                        Raketenwilli
                                    2. 0
                                      Gunnar Bittersmann
                                      1. 0
                                        Raketenwilli
                                      2. 0
                                        Robert B.
                                        • menschelei
                                    3. 0
                                      Robert B.
                                  2. 0
                                    Rolf B
                                    1. 0
                                      Raketenwilli
                                      1. 0
                                        Bastian
                                        1. 0
                                          Rolf B
                                        2. 0

                                          Potentieller Lieblingskunde ...

                                          Raketenwilli
                                          1. 0
                                            Bastian
                                            1. 0
                                              Mitleser 2.0
                                              1. 0
                                                Bastian
                                    2. 0
                                      Bastian
                                      1. 0
                                        Raketenwilli
                                        1. 0

                                          Schleife läuft durch, wenn ich etwas Code heraus nehme

                                          Bastian
                                          1. 0
                                            Tabellenkalk
                                            1. 0
                                              Bastian
                                              1. 0
                                                Rolf B
                                                1. 0
                                                  Bastian
                                                  1. 0

                                                    Linux: Dateien mit gleichen Namen in zwei Verzeichnissen finden und vergleichen

                                                    Raketenwilli
                                                    • linux
                                                    • shell
                                                    1. 0
                                                      Bastian
                                          2. 0
                                            Rolf B
                                        2. 0

                                          Variable aus Klasse im Restscript nutzen

                                          Bastian
                                          1. 0
                                            Rolf B
                                            1. 0
                                              Bastian
                                              1. 0
                                                Rolf B
                                                1. 0
                                                  Tabellenkalk
                                                  1. 0
                                                    Rolf B
                                                    1. 0
                                                      MudGuard
                                                2. 0
                                                  Bastian
                                                  1. 0
                                                    Der Martin
                                                    1. 0
                                                      Bastian
                                                      1. 0
                                                        Bastian
                                                        1. 0
                                                          Rolf B
                                                          1. 0
                                                            Bastian
                                                            1. 0
                                                              Rolf B
                                                              1. 0
                                                                Der Martin
                                  3. 0
                                    Robert B.
                                    • oop
                                    • php
                                    1. 0
                                      Bastian
            2. 0

              Einfache Lösung...

              Raketenwilli
              1. 0
                Bastian
                1. 0
                  Raketenwilli
                  1. 0
                    Bastian
                  2. 0
                    Gunnar Bittersmann
                    • menschelei
                    1. 0
                      Raketenwilli
                      1. 0
                        Der Martin
                    2. 0
                      Rolf B
                      1. 0
                        Der Martin
                        1. 0
                          Robert B.
  6. 0

    PHP-Syntax: Anführungszeichen

    Gunnar Bittersmann
    1. 0
      Bastian
      1. 0
        Gunnar Bittersmann
      2. 0
        Raketenwilli