Php Class benötige hilfe!!

blackbox100

Grünschnabel
Guten Abend

und zwar möchte ich mir eine Template Class erstellen, womit ich Php und Html trennen kann und mit einer weiteren funktion soll das Design in jeder Php Datei geladen werden.

So weit hab ich eigentlich alles hin bekommen. Doch möchte ich das er alles was zwischen $design->designStart() und $design->designStop() steht in den im Content anzeigt.

Das ganze soll dan ungfähr so aussehn.

PHP:
$design = new template();
$design->initDesign();
$design->setTandH("Sitetitle","Hmenu");
$design->designStart();

echo "Hello World";

$design->designStop();

So nun möchte ich erreichen, das er das echo im Content bereich ausgibt. Doch leider habe ich keine ahnung wie ich abfragen könnte was zwischen $design->designStart() und $design->designStop() steht.

Vielleicht könnt ihr mir da vielleicht anhand eines Beispiel Codes zeigen wie man es hinbekommen könnte.
 
Das problem ist nicht das ich nicht weiß, wie man ein Template System macht.
Mein problem ist es das ich möchte das dass System weiß "Alles was innerhalb von startDesign und stopDesign ist, gehört in den Content bereich"
 
http://us3.php.net/ob_start

sollte tun was du willst.

Ich würde das eher anders angehen, indem du eine Klasse erstellst, die die Seite repräsentiert, und Funktionen zum Hinzufügen des Contents bereitstellst. Drupal bietet da ein komplexes System, das zu studieren lohnt sich sicher auch.

Viel Spaß beim Coden, man sollte sich auch immer mal ausprobieren.
 
Achso, ja dazu werde ich keine Tipps geben, weil dieses System von der Konzeption her schon fürn A**** ist ;)
 
Das kann er ja selbst rausfinden, keiner fängt von Anfang an an hochsichere oder hochperformante Skripte und Programme zu schreiben. Muss man halt alles lernen, ich empfehle auch immer ohne IDE etc. anzufangen, damit man auch wirklich die Befehle kennen lernt.
GoTo hat zum Beispiel einen sehr schlechten Ruf, versteht man am Anfang nicht, da findet man es praktisch, aber wenn man sich dann 4 Wochen durch Code wühlt weil man das mit GoTo nich findet, dann versteht man es. Also lass ihm die Freiheit seinen Code selbst zu planen ;-)
 
Das kann er ja selbst rausfinden, keiner fängt von Anfang an an hochsichere oder hochperformante Skripte und Programme zu schreiben. Muss man halt alles lernen, ich empfehle auch immer ohne IDE etc. anzufangen, damit man auch wirklich die Befehle kennen lernt.
GoTo hat zum Beispiel einen sehr schlechten Ruf, versteht man am Anfang nicht, da findet man es praktisch, aber wenn man sich dann 4 Wochen durch Code wühlt weil man das mit GoTo nich findet, dann versteht man es. Also lass ihm die Freiheit seinen Code selbst zu planen ;-)

Ich verstehe ehrlich gesagt nicht, woher dieses vehemente Verfechten der Idee kommt, Leute müssten in ungünstigen Ansätzen erst mal bestärkt werden, bis sie von allein merken, dass sie vor eine Wand rennen.

Es wäre jedenfalls nett, wenn zumindest mal akzeptiert werden könnte, dass das nicht zwingend der einzig richtige Weg sein muss.

Sorry, ich lese das etwas einseitig, aber irgendwie schwingt das immer so mit. Ich will auch nicht sagen, dass man nichts selbst programmieren darf.

Nicht mehr speziell zu dir:

Die Implikation, man lerne beim Einsatz fertiger Komponenten (in diesem Fall wohl Smarty, Twig, …) nichts oder weniger über Programmierung, ist meines Erachtens absolut falsch. Erstens geht ohnehin kein Entwickler mit Scheuklappen durchs Leben und lässt sich nicht vom Umfeld beeinflussen (dazu sei etwa die Existenz dieses Threads als Beispiel genannt). Zweitens würde ich fast behaupten, dass man in einer Woche Beschäftigung mit Smarty, Twig, … mehr über die Entwicklung von Template-Engines lernt als in drei Monaten Gebastel im stillen Kämmerlein mit ein paar Ausflügen ins Forum bei konkreten Problemen.

Natürlich ist das nicht zu belegen und wohl auch von der Person, den Vorkenntnissen und dergleichen abhängig. Aber das Gegenteil, dass man alles von Grund auf selbst programmieren, ja „erfinden“ muss, um es zu verstehen, ist genauso wenig eine in irgendeiner Form bewiesene Tatsache. Andere Leute sind auch Leute, und andere Entwickler haben auch manchmal gute Ideen.

Ich persönlich denke, dass hinter dem Argument häufig die Unlust steckt, sich in bestehende Software (und deren Code) einzuarbeiten. Das soll keine Kritik sein. Ich will mich da selbst auch überhaupt nicht ausnehmen. Ich möchte aber jedem empfehlen, ab und an mal darüber nachzudenken. Es gibt einfach so viele Argumente, die für die Beschäftigung mit bestehenden Komponenten sprechen.
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück