Scooter: HTML-Elemente in PHP als Objekte speichern

Hi,

ich hatte die Idee für jedes bzw. eher die wichtigsten HTML-Elemente in PHP eine Klasse zu machen, mit Objekt spezifischen Eigenschaften und Methoden, halt ähnlich wie in JavaScript.

Es sollte dann z.B. so aussehen:

class Table
{
   var $cellpadding;
   var $border;
   /* .... */

function Table($border, $cellpadding)
   {
      $this->cellpadding = $cellpadding;
      $this->border = $border;
   }
   function addRow()
   {
      $tr = new TableRow();
   }
   function addHeader()
   {
      ...
   }

function toString()
   {
      $s = '<table border="'.$this->border.'" cellpadding="'.$this->cellpadding.'">
      $s = ""; /*...*/
      return $s;
   }
}

class TableRow()
{
   function addCell()
   {
     ...
   }
}

Hintergrund war, dass ich in meinen Skripten dann keinen HTML-Code mehr verwenden muss, und das ich die Ausgabe wie z.B. so ein Table aufgebaut sein soll, in nur einer datei/Klasse definiert habe.

Meint ihr, es ist den Aufwand wert, oder eher nicht? Hab ich da bei großen Projekten vorteile??

Problem war auch immer, dass ich nach einer Möglichkeit gesucht habe, meine Formulare, die immer wie folgt aufgebaut sind, zu vereinfachen:

Bezeichnung des Feldes:    |_____________|
weitere Feldbezeichnung:   |_____________|
Text:                      |                     |
                           |                     |
                           |                     |
                           |_____________________|
                           |__SUBMIT___|

das zielt auch so ein bisschen auf die Klassen-Problematik ab.

Wie macht ihr das??

Schreibt ihr einfach

echo '<table border="2" cellpadding="1">'; ..............

oder

echo $table->toString();

Ich bin mir halt nicht sicher, ob meine Idee wirklich sinnvoll ist bzw. ob sich das lohnt.

Gruß
Scooter

  1. Hallo Scooter,

    schau dir mal auf http://pear.php.net die HTML-Klassen oder Smarty auf http://smarty.php.net/. Beides laeuft in etwa auf das hinaus, was Du planst.

    Dieter

    1. Hi,

      schau dir mal auf http://pear.php.net die HTML-Klassen oder Smarty auf http://smarty.php.net/. Beides laeuft in etwa auf das hinaus, was Du planst.

      hab ich gemacht. aber ich glaube das ist mir etwas zu groß, für meine Bedürfnisse. Ich programmier sowas lieber selber, dann weiß ich was ich hab und ich lerne was dabei.

      Aber Frage war v.a. auch, ob sich sowas lohnt, und ob ihr Erfahrungen mit sowas habt. Also Trennung von PHP-Code und HTML-Code.

      Ist das gut, oder sogar mehr Aufwand als wenn man das ganze sein lässt!?

      Gruß
      Scooter

  2. Servus,

    sowas in der Art machen wir auch.
    Wobei wir nur einzelne Fragmente in eigene Objekte extrahieren.
    Das Problem ist nur, dass dich sowas ziemlich stark bindet und 2. der Aufwand bei Ädnerungen nicht zu verachten ist.

    Gruss Matze