<?php
class cForm
{
    
//var form tag
    
private $_TagAction;
    private 
$_TagMethod;
    private 
$_TagName;
    private 
$_TagExtraAttr;
    
    
//var form field
    
private $_FieldType;
    private 
$_FieldName;
    private 
$_FieldValue;
    private 
$_FieldChecked;
    
    
//var select tag
    
private $_SelectName;
    private 
$_SelectOption;
    private 
$_SelectOptionSelected;
    
    
//var button
    
private $_ButtonValue;
    private 
$_ButtonName;

    public function 
__construct$_TagAction $_TagMethod $_TagName $_TagExtraAttr ){
        
$this->_TagAction $_TagAction;
        
$this->_TagMethod $_TagMethod;
        
$this->_TagName $_TagName;
        
$this->_TagExtraAttr $_TagExtraAttr;
        
    }

    public function 
getTagOpen(){
        return 
'<form action="' $this->_TagAction '" method="' $this->_TagMethod '" name="' $this->_TagName .'" ' $this->_TagExtraAttr '>' PHP_EOL;
    }
    
    public function 
setFormField$FieldType $FieldName $FieldValue $FieldChecked ){
        
$this->_FieldType $FieldType;
        
$this->_FieldName $FieldName;
        
$this->_FieldValue $FieldValue;
        
$this->_FieldChecked $FieldChecked;
    }    
    
    public function 
getFormField(){
        return 
'<input type="' $this->_FieldType '" name="' $this->_FieldName '" value="' $this->_FieldValue '" ' $this->_FieldChecked '>'PHP_EOL;
    }

    public function 
setSelectOpen($SelectName){
        
$this->_SelectName $SelectName;
    }
    public function 
getSelectOpen(){
        return 
'<select name="'.$this->_SelectName.'">';
    }

    public function 
setSelectOption$SelectOption ,$SelectOptionSelected ){
        
$this->_SelectOption $SelectOption;
        
$this->_SelectOptionSelected $SelectOptionSelected;
    }

    public function 
getSelectOption(){
        return 
'<option' $this->_SelectOptionSelected '>' $this->_SelectOption '</option>' PHP_EOL;
    }
    
    public function 
getSelectEnd(){
        return 
'</select>' PHP_EOL;
    }

    public function 
setButton$ButtonValue $ButtonName ){
        
$this->_ButtonValue $ButtonValue;
        
$this->_ButtonName $ButtonName;
    }

    public function 
getButton(){
        return 
'<input type="submit" value="' $this->_ButtonValue '" name="'$this->_ButtonName .'">' PHP_EOL;
    }

    public function 
getTagEnd(){
        return 
'</form>' PHP_EOL;
    }
    
}

$objForm = new cForm'/' 'post'  'test' 'onsubmit="test"' );

//form start
echo $objForm->getTagOpen();

//text field
$objForm->setFormField('text','2''' '');
echo 
$objForm->getFormField();

//checkbox
$objForm->setFormField('checkbox','2''' 'checked="checked"');
echo 
$objForm->getFormField();

//selectbox

    // start selectbox
    
$objForm->setSelectOpen('bas');
    echo 
$objForm->getSelectOpen();

    
// option selectbox
    
$objForm->setSelectOption('bas'' selected');
    echo 
$objForm->getSelectOption();
    
$objForm->setSelectOption('123''');
    echo 
$objForm->getSelectOption();
    
$objForm->setSelectOption('456''');
    echo 
$objForm->getSelectOption();

    
//end selectbox
    
echo $objForm->getSelectEnd();

//button
$objForm->setButton('test type','test name' );
echo 
$objForm->getButton();

//form end
echo $objForm->getTagEnd();

show_source(__FILE__); 
?>