Шаблон форм на php

Тема в разделе "Как сделать...", создана пользователем Denixxx, 23 апр 2015.

  1. Denixxx

    Denixxx

    Регистр.:
    7 фев 2014
    Сообщения:
    247
    Симпатии:
    191
    Хочу сделать универсальный «создатель форм».
    Придумал сделать это так.
    Для элемента формы Пользователь задаёт: имя элемента, его тип, массив значений, значение по умолчанию и шаблон
    В БД создаем соответственно таблицу:

    Код:
    CREATE TABLE IF NOT EXISTS `form` (
      `id` int(5) NOT NULL AUTO_INCREMENT,
      `name` varchar(255) NOT NULL,
      `type` varchar(255) NOT NULL,
      `values` text COMMENT 'массив возможных значений через запятую',
    `default` varchar(255) COMMENT 'значение по умолчанию',
    `skin` text COMMENT 'шаблон',
      PRIMARY KEY (`id`)
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
    Ну и при выводе этого добра все значения (name,type,values,default) — должны выводиться через шаблон.
    И вот теперь вопрос: возможно ли это сделать без eval или include? Ведь мы же понимаем, что среднестатистический пользователь обязательно наделает там ошибок. Монстров типа смарти применять не хочется, а внутри шаблона ведь возможны и циклы, например:
    PHP:
    $result '<td>' $name ': </td><td> <select  name="' $name '"  >'."\r\n".
                
    '<option value="' __('No matter') . '">' __('No matter') . '</option>'."\r\n";

                    foreach(
    $values as $value){
                    
    $result .= '<option value="' $value '" ' . (($selected==$value) ? ' selected="selected">' '>') .  $value '</option>'."\r\n";
                    }
                
    $result .= '</select></td>'."\r\n";
                return 
    $result;
     
  2. KODEAK

    KODEAK

    Регистр.:
    11 апр 2009
    Сообщения:
    160
    Симпатии:
    15