нет, не в админке) я и вовсе не юзаю генератор форм(через декоратор) в скриптах вида, только простые view helpers:
<?=$this->formSelect($this->form->country->getName(), $this->form->country->getValue(), $this->form->country->getAttribs(), $this->form->country->getMultiOptions());?>
Вот такой код выдаст selextbox со списком стран
Вот это как на уровень менее наглядно))
при всём при этот тут нету вполне стандартных валидаторов, «pattern» это далеко не все, что нужно.
Вот где например валидатор на существование такого логина?
нет, только вот в таком случае более рутинные вещи будут описаны в ini-файле(названия полей, фильтры, базовые валидаторы), а кастомные валидаторы, дефолтные значения, опции для selextbox — в php файле.
Как правило, готовые INI-файлы редактируются крайне редко. Большая часть работы возлагается на работу с PHP кодом формы.
+ INI файлы более удобны и наглядны для описания форм. Весь необходимый функционал расширяется за счёт PHP кода.
Не стоит искать панацею, универсальных способов не существует — нужно использовать это там, где это действительно удобно и необходимо.
вот я тоже раньше так думал, но когда приходилось писать большие по размеру формы на ZF — этот код очень уж громоздко смотрелся в купе со всеми необходимыми валидаторами и проч. опциями. В итоге понял, что простые текствовые поля формы лучше выносить в «простой» файл)
Гораздо удобнее писать ini файл для этого, чем писать 20 строк вот такого вот:
$this->addField(array(«name»=>«lalal»,«type»=>«textbox»,«require»=>true))
<?=$this->formSelect($this->form->country->getName(), $this->form->country->getValue(), $this->form->country->getAttribs(), $this->form->country->getMultiOptions());?>
Вот такой код выдаст selextbox со списком стран
при всём при этот тут нету вполне стандартных валидаторов, «pattern» это далеко не все, что нужно.
Вот где например валидатор на существование такого логина?
Как насчёт вот таких вещей?
$this->country->setMultiOptions($countrys);
$this->state->setMultiOptions($states);
$this->gender->setMultiOptions($genders);
$this->age_range->setMultiOptions($ageRanges);
$this->upassword->addValidator(new Validate_PasswordsMatch);
$this->email->addValidator(new Validate_AlreadyExistsEmailEdit)
->addValidator(new Validate_EmailConfirmation);
$this->paypal->addValidator(new Validate_PaypalConfirmation);
Когда все это добавиться — будет крайне неудобно что-то редактировать.
Как правило, готовые INI-файлы редактируются крайне редко. Большая часть работы возлагается на работу с PHP кодом формы.
+ INI файлы более удобны и наглядны для описания форм. Весь необходимый функционал расширяется за счёт PHP кода.
Не стоит искать панацею, универсальных способов не существует — нужно использовать это там, где это действительно удобно и необходимо.
Гораздо удобнее писать ini файл для этого, чем писать 20 строк вот такого вот:
$this->addField(array(«name»=>«lalal»,«type»=>«textbox»,«require»=>true))
1 - Использовали переделанный PHPCollab - ибо оригинал ужасен.
2 - DotProject - тоже как-то не то (
http://pm.iexx.biz/
Login: demo,
pass: demo.
Сильно не пинайте, баги есть =)
Это в рамках диплома делал. Если кому понравится - пишите, была идея продолжить разработку в этом направлении или просто своё мнение оставьте =)