Od jakiegoś czasu pracuję nad enginem strony opartym na MVC. Zrobiłem właśnie generowanie formularzy podobnie jak w Zend.
Przykład:
Plik: Controller_Start.php
CODE
$form = parent::InitModel( "form" );
$form->LoadForm( "register" );
$data = $form->GetFormData();
parent::InitView( "layout_start", $data );
$form->LoadForm( "register" );
$data = $form->GetFormData();
parent::InitView( "layout_start", $data );
Ta forma ma akcje "user/register" i kod ze strukturą każdej formy jest w oddzielnym pliku.
Plik: Controller_User.php
CODE
$form = parent::InitModel( "form" );
$form->LoadForm( "register" );
$data = $form->GetFormData();
if ( $form->Valid( $data )==true )
{
//ok
}
else
{
parent::InitView( "view_register", $data );
}
$form->LoadForm( "register" );
$data = $form->GetFormData();
if ( $form->Valid( $data )==true )
{
//ok
}
else
{
parent::InitView( "view_register", $data );
}
Wszystko działa dobrze do czasu jak chce wstawić na jednej podstronie jeszcze jeden formularz, dokładnie to w zamierzeniu jest zrobienie ze forma logowania jest widoczna na każdej podstronie. Problem pojawia gdy naraz mają być wyświetlone forma logowania i rejestracji, bo jak jest akcja user/register to ten kontroler stworzy i zweryfikuje tylko swój formularz, a drugiego już nie stworzy bo nie ma jego danych. Podobnie w akcji user/login. Jeszcze jak dołoże formę ankiety to już wogule nie wiem jak sie za to zabrać.
Mam nadzieję, że w miarę jasno napisałem w czym problem

Z góry dzięki.