заполнение наборов полей Zend-формы объектами внутри объекта

Я использую PHP Zendframework для создания форм. У меня есть сервисный объект, который мне нужно использовать, чтобы заполнить мой ServiceEditForm.php. Но в этой сервисной форме у меня есть Объект «Биллинг», «Подписка» и массив объекта «Команды». Ниже моя реализация класса обслуживания.

 class Service{
public $service_id;
public $ServiceName;
public $TelecomOperator;
public $SubMethod;
public $Provider;
public $active;



public $billingType;
public $subscriptionPlan;
public $commands;

function exchangeArray(array $data);}

Я хочу связать объект класса Service с моей формой редактирования, которая использовала данные, связанные с подпиской, выставлением счетов и командами, в качестве наборов полей. Я могу заполнить значения службы в форме, используя привязку, но не другие объекты. вот моя реализация формы

     class ServiceEditForm extends Form{

public function __construct($name = null)
{
parent::__construct('Edit Service');
$this->setAttribute('method', 'post');
$this->setAttribute('enctype','multipart/form-data');

//here i have other fields that belongs to service object

$this->add( array(
'name' => 'billingType',
'type' => 'Services\Form\BillingTypeFieldset',
'options' => array(
'label' => 'Billing Type',
),
));


$this->add( array(
'name' => 'subscriptionPlan',
'type' => 'Services\Form\SubscriptionPlanFieldset',
'options' => array(
'label' => 'Subscription Plan',
),
));

$this->add(array(
'type' => 'Zend\Form\Element\Collection',
'name' => 'commands',
'options' => array(
'label' => 'commands',
'count' => 2,
'should_create_template' => true,
'allow_add' => true,
'target_element' => array(
'type' => 'Services\Form\CommandFieldset',
),
),
));

$this->add(array(
'name' => 'submit',
'attributes' => array(
'type'  => 'submit',
'value' => 'Save'
),
));
}

}

Как я уже сказал, я не могу заполнить наборы полей связыванием в форме с помощью этой реализации. Любое предложение будет оценено.

1

Решение

Хотя я уже ответил на вопрос после поиска возможных решений, но реализации Hydrator, приведенные в этой ссылке, также полезны для объяснения тех самых основ, которые следует прочитать перед его использованием. Мое плохое, я не пошел на полное изучение прежде, чем осуществить наборы полей.

http://framework.zend.com/manual/current/en/modules/zend.stdlib.hydrator.html

Этот URL объясняет возможную реализацию гидраторов, которые могут предоставить вам очень легкое решение для вашего класса.

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector