
05.04.2010, 01:17
|
|
Участник форума
Регистрация: 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..
|
|
|