[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