class: Zeilen im Quellcode entfernen - php-Datei finden

Beitrag lesen

Moin,

Keine Ahnung, die Seite ist nicht von mir, demnächst wird dies Seite wohl sowieso neu erstellt.

Deine Chance an diesem Chaos was zu verbessern! Idee: Jede Seite hat einen Platzhalter in welchem drinsteht, welche class diese Seite ausliefert. Ich mache das z.B. so, dass es im Responseheader steht, z.B.:

x-class: MVC::HTMLTemplate

Und da kann ich jederzeit nachgucken. Bei der genannten Klasse weiß ich, dass die Templates im Verzeichnis templates/ liegen. Ein neuer Kollege, der das nicht weiß, guckt in die Klasse, also Datei @INC/MVC/HTMLTemplate und sieht dort, dass ein Attribut $self->{TEMPLATEDIR} verwendet wird innerhalb derjenigen Interface-Methode welche für die Beschaffung des BODY-Templates zuständig ist. Da Attribute im Konstruktor definiert werden, würde der Kollege nun einen flüchtigen Blick in den Konstruktor werfen und dort feststellen, dass TEMPLATEDIR aus einer zentralen Konfigurationsdatei gelesen wird, die er dann schließlich ohne Umschweife findet.

Bleibt noch die Frage, wo die Platzhalter ersetzt werden, da es in class MVC::HTMLTemplate keine weitere Interface-Methoden gibt, kann dafür nur ein hinzukonfiguriertes Interface zuständig sein, also Blick in die Konfiguration wo z.B. steht: interface=date

Und in @INC/interface/date.pm sind die IF-Methoden wo gebraucht werden definiert. Ist eine IF-Methode definiert, wird sie ausgeführt und jede IF-Methode hat Zugriff auf sämtliche Platzhalter im ResponseObjekt {STASH}, die vor dem Ausliefern ins Template gerendert werden, falls der Template-Prozess nicht per Konfiguration unterdrückt werden soll.

PS: Der Neue und die Konfigurationsdatei werden dicke Freunde, er wird nie wieder nach dieser Datei suchen. Da stehen alle Attrribute drin, wo fürs Ausliefern der Seite gebraucht werden, title, descr, class usw., ob gecached werden soll und ggf. der Name der Template-Datei.