Форум → Программирование → PHP для идиотов → вопросик по организации фреймворка форм
вопросик по организации фреймворка форм
-
Хочу переписать тот свой валидатор/билдер форм. Хочу формы теперь не на таблицах а на дивах, а значит без цсс не обойтись. вопрос в том, как реализовать это.
есть идея просто лепить кашу из дивов, но позволить задавать им класс и ид, цсс ляжет на разработчика. минут - усложнение формы тем, что придется еще и цсс простенький писать, еще и стайлы и ид'ы задавать полям.
жду ваших идей или советов изходя из опыта :) -
21 апреля 2010 г. 0:13, спустя 55 минут 25 секунд
soulgarden, делай таблицами, на дивах все поедет, либо будет слишком сложная верстка/кад, не счиатя того что ширины колонок автоматически в таблицах строятся, а с дивами ты такой фокус не провернешь легко :)Сапожник без сапог -
21 апреля 2010 г. 1:01, спустя 47 минут 35 секунд
phpdude, на самом деле можно и дивами, и таблицами. Суть в том, что это в большинстве случаев нах никому не нужно, ибо главное что корректно работало.
Но я, как верстальщик, иногда "от скуки" (в последнее время все чаще) фигарю именно с блоками и прочей лабудой. Но и стилевой файл у меня к концу всей верстки разрастается так, что ого-го. Хотя в то же время и работает везде (во всех браузерах) практически одинаково (огрехи в пределах допустимого и без нарушений общей картины. -
21 апреля 2010 г. 1:19, спустя 18 минут 25 секунд
Givi, я не говорил что это невозможно, я сказал что лишний геморой = человеко-часыСапожник без сапог -
21 апреля 2010 г. 10:36, спустя 9 часов 17 минут 10 секунд
phpdude, и я не говорил, что ты сказал, что это невозможно. Вообще я сказал, что оно нахер не нужно делать, если есть чем более нужным занятся. А когда нечем заняться будет, тогда уже можно думать.
п.с. Вообще плюс в дивах тот, что их можно визуально "менять местами", то есть можно одним изменением стилей сделать чтоб было по типу:
Имя: |___________|
или так:
Имя:
|____________|
В любом случае мне удобнее с дивами, так как при желании можно сваять со стилями всякие интересные вещи, которые не всегда удобно делать с таблицами. Но и тот и тот вариант вполне корректен и своё задание выполняет на "отлично". -
21 апреля 2010 г. 11:26, спустя 49 минут 49 секунд
есть такая идея, сделать режим дебага. в нем фреймворк будет генерить и отображать дефолтный цсс и дефолтный js (если эффекты нужны).
и этот жс и цсс в отдельных файлах можно сохранить и вставить в <head></head>
это для того чтоб не было инлайн жс как в прошлом фреймворке -
21 апреля 2010 г. 11:56, спустя 30 минут 6 секунд
концепт формы
<?php
require_once(forms.php);
$loginform = new Forms($name = 'loginform', $method = 'post', $debug = true);
$loginform->fields($field=array('name' => 'login'), $field=array('name' => 'pass', 'type' => 'password'));
//или может так лучше
$loginform->addField($name = 'login'); //$type, $id, $class и тд
$loginform->addField($name = 'pass', $type = 'password');
$loginform->addField($name = ''submit, $type = 'submit');
if (isset($_POST)) {
$loginform->validate();
}
else {
$loginform->build();
}
?> -
-
21 апреля 2010 г. 12:12, спустя 8 минут 2 секунды
вероятно в классе будет массив $handliers в котором перечислены валидаторы. text, select, radio и тд. хочешь свой валидатор - добавляй название в массив и в класс кусок кода суй в метод validate() -
21 апреля 2010 г. 12:19, спустя 7 минут 18 секунд
будут приватные методы типа validate_text()
и массива не будет -
21 апреля 2010 г. 12:30, спустя 10 минут 29 секунд
я просто хочу всё упихнуть в одну либуСпустя 94 сек.какой из предложенных вариантов добавления полей лучше? или свои лучше предложите. что думаете на счет жс и цсс? -
21 апреля 2010 г. 12:37, спустя 7 минут 41 секунду
1) можно реализовать и то и то
2) нахуя все пихать в одну? раздели на несколько. Что б я к примеру мог твой валидатор использовать отдельно от генератора -
21 апреля 2010 г. 12:46, спустя 8 минут 22 секунды
ну тогда получится почти тот же валидатор, что и был :( -
23 апреля 2010 г. 11:00, спустя 1 день 22 часа 13 минут
подскажите как обрабатывать поля. экранировать, nysql_escape_string() или htmlentities(), а что если надо сохранить форматированный текст с тегами? запутался в этой теме… -
23 апреля 2010 г. 14:04, спустя 3 часа 4 минуты 12 секунд
$form->getField('password')->removePreFilter('trim', '::removeTags')->removePostFilter('htmlentities'); // == $form->getField('password')->setRawInputFlag(true);
как-нить так =)Work, buy, consume, die
Пожалуйста, авторизуйтесь, чтобы написать комментарий!