<?php
/*
* (C) Copyright by Christian Möller
* All Rights reserved
*
* This file is part of the WCL (Web Control Library).
*
* WCL is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Foobar is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with WCL. If not, see <http://www.gnu.org/licenses/>.
*/
/**
* Diese Klasse stellt eine Factory zur Verfügung, mit dem
* über den Konstruktor der Klasse mehrere Typen des
* Vatertyps IControl erstellt werden können.
*
*/
class Factory extends IControl {
var $controls = array();
function Factory($control) {
foreach ($control as $name => $type) {
eval('$collection_item = new '.$type.'('.$name.');');
$this->controls[$name] = $collection_item;
}
}
function render() {
$render_out = "";
foreach ($this->controls as $label) {
$render_out .= $label->render();
}
return $render_out;
}
}
?>