Нет, я не думаю, что вы можете сделать это, или крайне неэффективно.
Лучшим способом было бы определить, какой тип данных вам нужно сохранить, чтобы воссоздать его из простогоконфигурация.
Например, у меня есть система блогов, и в ней у нас есть 4 различных набора виджетов, а именно TextWidget
, RSSWidget
, BlogRollWidget
, MetaWidget
Все эти виджеты унаследованы от базового класса Widget
и организованы родительским классом с именем Widgets
.Этот класс Widgets
будет иметь возможность читать необработанную конфигурацию и заново создавать базу виджетов на type
, а также некоторые другие данные, необходимые для каждого отдельного виджета.
Такая строка конфигурации можетбыть примерно таким:
{
widgets: [{
type: 'text',
x: 30,
y: 80,
text: 'The quick brown fox jumps over the lazy dog'
},{
type: 'blogroll',
x: 60,
y: 120,
links:[{
title: 'Google',
link: 'http://www.google.com'
}]
},{
type: 'meta',
x: 80,
y: 60
}]
}
Таким образом, у вас есть возможность воссоздать различные типы виджетов на основе конфигурации, и в то же время вы можете просто stringify
сохранить его вваша база данных.