Показать сообщение отдельно

  #10  
Старый 05.04.2010, 01:17
DTW
Участник форума
Регистрация: 11.05.2008
Сообщений: 202
Провел на форуме:
420713

Репутация: 104
По умолчанию

Почитай ее книгу "Объектно-ориентированное программирование на PHP", написанную сотрудниками нашей студии Кузнецовым Максимом Валерьевичем и Симдяновым Игорем Вячеславовичем




Я не профи

объект класса формы может содержать другие объекты
например объект класса элемент поля
от него может быть порожденный новый объект класса
текстового поле.

PHP код:

 
class Form 
   
{
       private 
$element;
       private 
$action;
       private 
$method;
       private 
$name;
       private 
$value;
       
       public function 
__construct($element,$action,$method,$name,$value)
       {
         
$this->element=$element;
         
$this->action=$action;
         
$this->method=$method;
         
$this->name=$name;
         
$this->value$value
       }
       public function 
cheak()
       {
           
       }
       
       public function 
viewform()
       {
        
$formview ="<form action='{$this->action}' method='{$this->method}' name='{$this->name}' >";
            echo 
$formview
          
               foreach(
$this->element as $el)
               {
                  
                  
                
$formview .=   $el->viewelement();
                   
               }
           
            echo 
"<input type='submit' value='{$this->value}'></form>";
       }
       public function 
__toString()
       {
           
$this->viewform();
       }
       
   }
   
   class 
Field {
       protected 
$style;
       protected 
$class;
       protected 
$name;
        public function 
__construct($style,$class,$name
        {
            
$this->style=$style;
            
$this->class=$class;
            
$this->name=$name;
        }
       
   }
   
   class 
Finput  extends Field
   
{
       private 
$type;
       private 
$value;
      
       
      public function 
__construct($type,$value,$name,$style="",$class="")
      {
        
         
parent::__construct($style,$class,$name);
          
$this->type=$type;
          
$this->value=$value;
         
      }
      public function 
viewelement()
      {
          
$viewelement="<input type='{$this->type}' value='{$this->value}'";
          if(!empty(
$this->class)){ $viewelement .="class='{$this->class}'";}
          if(!empty(
$this->style)){$viewelement .="style='{$this->style}'"; }
          
$viewelement .="name='{$this->name}'";
          
$viewelement .="/>";
          echo 
$viewelement;
      }
   }

   
$element = new Finput('text','textpole','my1');
   
$element2 = new Finput('text','textpole2','my2');
  
   
$form = new Form(array('element1'=>$element,'element2'=>$element2),'form.php','get','form1','send');
   
   
$form->viewform(); 

Последний раз редактировалось DTW; 05.04.2010 в 01:31..