Конфиг приложения

Вообщем все просто идея автоматической генерации табов из базы для редактирования конфига.

Никто не извращался?

имеем таблицу примерно такого вида:




CREATE TABLE IF NOT EXISTS `configuration` (

  `configuration_id` int(11) NOT NULL AUTO_INCREMENT,

  `group` varchar(128) NOT NULL,

  `name` varchar(128) NOT NULL,

  `type` enum('string','boolean','file','int') NOT NULL DEFAULT 'string',

  `param` varchar(255) NOT NULL,

  `description` varchar(255) NOT NULL,

  `value` varchar(128) NOT NULL,

  PRIMARY KEY (`configuration_id`),

  UNIQUE KEY `name` (`name`)

) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=5 ;


INSERT INTO `configuration` (`configuration_id`, `group`, `name`, `type`, `param`, `description`, `value`) VALUES

(1, '', 'theme', 'string', '64', 'Theme', 'classic'),

(3, 'server', 'cache', 'boolean', '', 'Cache', 'true'),

(4, '', 'news_on_page', 'int', 'min:5;max:30;', '', '10');



Далее во вьюшке $models - это findAll(); имеем массив всех моделей




<?php

$conf = array();

foreach ($models as $model) {

	$conf[$model->group?$model->group:'main'][$model->name] = array($model->value,$model->type,$model->param);

}

$tabs = array();

$i=1;

foreach ($conf as $key => $item) {

	$tabs['tab'.$i]['title'] = $key;

	foreach ($item as $name => $value) {

		$tabs['tab'.$i]['content'] .= $name.'<br />'.print_r($value,true).'<hr />';

	}

	$i++;

}

$this->widget('CTabView', array('tabs'=>$tabs/*, 'viewData'=>$model*/));

var_dump($tabs);

var_dump($conf);

?>



Внимание вопрос:)

у меня сильно извращенский метод? (или вылечат)

Может у кого идеи есть как правильнее и красивее все сделать?

Или давайте дальше развивать тему в этом направлении может кому пригодится…

А почему бы и нет такому методу?

У меня по такому же принципу состоит конфиг для сайта. Далее его в кэш ложу на проде и юзаю.

Минус такого подхода не сгенерить красоты (дизайн формы), только тупо раскидать по порядку(ид, имя или порядковый индекс придумать).

обработать не сложно будет данные (http://www.yiiframework.com/doc/guide/ru/form.table)

а вот разместить красиво…

Интересно, форма для редактирования конфигурационного php файла, которая собирается с учетом мета-данных в php-комментах – это сильно извращенно?

p.s. для разработки и конфигурирования свежеиспеченных сайтов исключительно, на production сервере ведь и права на файлы правильно проставлены, и вообще нефиг )