Генератор кода, таблиц MySQL, файлов и админки. Есть ли решения или стоит сделать?

Достаточно часто приходится писать для каждого модуля, код который писал в прошлых модулях слегка изменяя его, наиболее часто это приходится делать при создании административной панели (валидация форм, пигинация, сортировка, поиск по модулю).

И все эти действия достаточно стандартны, и можно бы было сделать систему такую своеобразную dev-админку для фреймворка, в которой с помощью графического интерфейса, за достаточно быстро и просто можно было бы сделать каркас модуля.

Например. Нужен модуль блога, с заголовком, вводным текстом, полным текстом, и основной картинкой и ее превъюшкой.
Заходим в dev-адмику из списка заранее подготовленных вариантов типов данных(текст, картинки, дата, файлы и т.д) выбираем те что нужны нам для этого модуля, для каждого из них выставляем свойства(обязательное для заполнения или нет, допустимые типы файлов, размер текста большой или маленький и прочие варианты валидации), указываем связи с другими таблицами если надо, и попутно можем их и создать. Нажимаем ОК. И у нас создалась табличка с нужными нам полями, код админки для управдения этой таблицей, и заготовка модуля для фронтеда(папка, файлы, объявление классов в них и конструктор).

После этого останется заниматься именно тем что более менее индивидуально — фронтенд. И подкорректировать код админки если нужно.

Я не нашел действительно хорошего готового решения есть в Yii — Gii но это немного не то вроде, phpMyEdit — с виду показался страшным, старым и неудобным. И самое на мой взгляд лучшее решение Bonfire — но оно мне показалось сыроватым из за ошибок которые выскакивали в процессе создания модуля, и не очень удобным.

Вопрос в том есть ли какое-нибудь решение которое способно реализовать идею? И на сколько интересно это решение публике? Т.к. есть идея взять и допилить Bonfire или сделать что-то свое и поделиться этим.
  • Вопрос задан
  • 5010 просмотров
Пригласить эксперта
Ответы на вопрос 5
Anonym
@Anonym
Программирую немного )
Насколько я вас понял, в symfony всё это есть.
Да и в любой CMS, в том же Drupal.
Ответ написан
rakot
@rakot
Gii в Yii как раз то, только тот что идёт в комплекте с фреймворком несколько неудобный CRUD генерит.
Я для себя его раширил по принципу постфикса полей, а именно:
Если у названия поля закинчивается на:
_date — значит в админке будет поле даты
_datetime — дата со временем
_image — поле загрузки картинки в папку аплоадс по контроллеру
ну и enum раскладываю в селект.

Экономит вагон времени в сравнении со стандартным Gii.
Ответ написан
Комментировать
@cat_crash
Есть проприарное решение от одной российской студии. Смысл его заключается в следующем:
-Есть XMLка, в которой описываются поля, типы И СВЯЗИ с другими таблицами.
— Есть набор инструментов (XSLT шаблоны) которые конвертируют готовую XMLку в PHP скрипты, которые потом подключаюстся к CMS

Увы проект был написан еще под php4 и уже морально устарел и не обновлялся.
Документашка которая даст больше представления о принципе вот тут www.dropbox.com/s/168g5cknecgre4f/Developer.doc
Вот образец готовой XMLки kapital.by/admin/create/config.xml
Ответ написан
Комментировать
bethrezen
@bethrezen
Делаю сайты, люблю yii2
Для yii есть yii-ycm, но тоже не все задачи решает.
Ответ написан
@zvzz
Нашлось ли в результате какое-то решение для быстрого и качественного построения админки/веб приложения ориентированное на данные ?

Мы сделали свое, как обычно - мощное, красивое, и достаточно сказать "абракадабра" как оно проанализирует базу, построит полностью приложение на конфигах, сделат апи, выстроит гриды, карты, списки, связи, валидации, роли и чуть ли не коллаборативное редактирование. Кастомные скрины создаются легким взмахом руки и одностраничным json.

Но в какой-то момент стало понятно, что поддерживать этого супера нам самим для себя слишком дорого, и мы либо должны взять что-то с полки, открытое или закрытое, но оттестированное тысячами народу, либо доруливать свой продукт до рыночного состояния (а это затраты на разработку, маркетинг и саппорт), либо отдать в опенсорс - если есть спрос, будут и те кто поможет дописать.

Спасибо за ответ.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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