[Tustep-Liste] Frage: Verschachtelte INCLUDEs
Michael Hoffert
tustep_saw_hoffert at mhlkg.de
Fr Jan 13 09:36:20 CET 2017
Lieber Gottfried,
Lieber Herr Schälkle,
vielen Dank für Ihre Anregungen. Sie haben mir sehr geholfen mein
Problem aufzulösen. Dieses liegt nur sekundär im Programm selbst sondern
vielmehr in meinem Verständnis einer Programmierphilosophie, welche von
anderen Sprachen her gebildet ist. In PHP bin ich es z.B. gewohnt,
mehrere Dateien ineinander einzubinden: geschachteltes INCLUDE über
mehrere Datei hinweg. Dies ist so in TUSTEP scheinbar nicht möglich.
Hintergrund meiner Überlegungen:
Um Ordnung in meine Programmstruktur zu bekommen, wollte ich diese – wie
bisher gewohnt - auf verschiedene Dateien aufteilen, also nicht nur
Segmente einer Datei.
– ein aufzurufendes Startskript, welches als Pförtner fungiert und je
nach Anfrage den weiteren Verlauf steuert
– verschiedene Segmente einer Datei (Index), welche im Prinzip die
einzelne Programmlogik tragen, das Segmentverzeichnis nutze ich
gleichzeitig als Inhaltsverzeichnis zur Auswahl der Inhalte
– eine Datei (Snippets), in der verschiedene Programmschnipsel liegen
(Segment, Section oder Submacro), aus denen eine Ausgabe gebaut wird, im
Prinzip Standardelemente/-gerüste, welche per Variablen angepasst werden
– eine Datei (Chunks), welche unveränderte Daten vorhält, die an
verschiedenen Stellen eingebunden werden
– eine oder mehrere weitere Dateien, deren Segmente Hintergrundaufgaben
erledigen und somit Zugriff auf die Ausgabe weiterer Programmlogik
ermöglichen
Nach meinen Tests ist folgendes möglich:
– ich kann von Datei "A", Segment "1" aus Datei "B", Segment "1" aufrufen
– ich kann dann in "B/1" weitere Segmente aus Datei "A" einbinden
– ich kann innerhalb von "B/1" Sektionen/Submakros aufrufen, welche z.B.
in "A/2" stehen und vor dem Aufruf von "B/1" in "A/1" eingebunden wurden
– ich kann, wenn "B/1" abgearbeitet wurde (INCLUDE ist beendet, ich
befinde mich wieder in "A/1"), weitere Segmente aus "A", "B" oder
anderen Dateien einbinden
Nicht möglich ist:
– ich kann nicht von dem eingebundenen "B/1" weitere Segmente aus "B"
oder einer anderen Datei einbinden
– ich kann nicht auf Sektionen/Submakros zugreifen, welche auf einer
Datei ungleich "A" liegen und vorher eingebunden wurden
Nun kann ich dies zwar prinzipiell auch alles in eine bzw. zwei Dateien
verpacken, habe aber Angst, daß dies irgendwann sehr unübersichtlich
wird. Hinzu kommt, daß es auf diesem Wege schwieriger sein könnte
externe Programmlogik (fertige, fremde Skripte) einzubinden. Auf diese
kann dann nicht einfach per INCLUDE referenziert werden, sondern sie
müssten – mit Eingriff in deren Programmcode – in die eigene Struktur
eingebunden werden. Den Vorteil, den ich an dieser Stelle in anderen
Programmiersprachen sehe ist der, daß dort relativ einfach Bibliotheken
mit Programmroutinen eingebunden und genutzt werden können. Mit der
Vorgehensweise in TUSTEP, alles in die Segmente einer Datei zu packen,
muss ich mich wohl erst noch anfreunden.
Viele Grüße aus Leipzig
Michael Hoffert
Mehr Informationen über die Mailingliste Tustep-Liste