Есть ли библиотека, класс или иное другое решение на php?

Есть ли библиотека, класс или иное решение на php, позволяющее создавать «на лету» произвольные сущности (объекты), любые поля (характеристики) к ним, выполнять генерацию форм и сохранять введенные данные для последующей обработки?


В моей предметной области существует набор объектов, который периодически меняется. Добавляются новые, «исчезают» старые. У каждого из объектов существует множество (от 10 до 80) характеристик. Необходимо дать пользователю возможность настраивать (вводить и редактировать) их значения (строковые, числовые, булевые и др.), а потом собирать по ним статистику (история введенных данных: когда и какое значение) и делать какие-то отчеты. Т.к. объекты и их поля меняются довольно часто, то необходимо чтобы специальный пользователь через административный интерфейс мог их настраивать без изменений в исходном коде. Замечу, что нужна не просто генерация форм, а представление данных в виде сущностей (объектов) с полями.


Целиком и полностью эту задачу решает Drupal (fields, cck), но мне нужно решение для уже существующего проекта, который практически невозможно перевести на друпал.


Судя по результатам поиска в ПС, задача или мало востребована или существует принципиально иное решение, которое я, увы, так и не нашел. Может ли кто-то подсказать варианты?
  • Вопрос задан
  • 3186 просмотров
Пригласить эксперта
Ответы на вопрос 4
fear86
@fear86
Developer
Это решается на любом фреймверке + парочка программистов, готового решения думаю не будет, так как «для уже существующего проекта, который практически невозможно перевести на друпал». То-есть вам нужно узкоспециализированное решение. Так же все описанное похоже на EAV модель.

ps: возможно для eav есть готовое решение ;)
Ответ написан
Комментировать
Kakysha
@Kakysha
Создавтаь объекты на лету и присваивать им произвольные поля — это основа основ PHP, ничего даже ставить не надо. Подсказка: доступ к полям лучше осуществлять через фигурные скобки, если дело касается произвольных полей. $object->{$field}.
А сохранить все это в базу — как нефиг делать, в JSONе это все прекрасно сохранится в документоориентированной БД.
Ответ написан
@edogs
Не совсем то, что нужно, но посмотрите www.phpmyedit.org/
Ответ написан
Комментировать
MpaK999
@MpaK999
Буду!
Возьмите любой фрэмворк в котором есть Scaffolding, он как раз и позволяет формировать формы для любых таблиц, так же заниматься их наполнением и удалением информации. Расширением полей и т.п. прийдется заняться отдельно и допилить на том же фрэймворке этот функционал.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы