Я создаю CMS, используя CodeIgniter , и я озадачен лучшим способом обработки различных представлений CRUD.Учитывая, что мой URL похож на ...
mydomain.com / admin / app / content / pages / edit
... где «admin» - это мой контроллер, а «app» - этомой метод действия, в настоящее время я сопоставляю сегменты 3, 4 и 5 с реальными каталогами / файлами, например так:
/views
/admin
/content
/pages
list_view.php
edit_view.php
add_view.php
/banners
list_view.php
edit_view.php
add_view.php
Одно предостережение: мне нужно вызывать разные методы модели без CRUD, в зависимости от того, на какой страницевызывается, поэтому мой метод действия app () начинает иметь неприятный блок if..else.Кроме того, представления каждого раздела будут выглядеть по-разному из-за разных табличных данных, поэтому я не понимаю, как избежать использования нескольких страниц просмотра.Очевидно, что недостатком всего этого является то, что 1) я повторяю много кода и 2) если я добавляю новый раздел администратора, мне нужно физически создать множество новых каталогов и добавить новую часть в if ...Блок else.
Итак, мои вопросы:
- Как уменьшить количество каталогов и страниц, которые я создаю?
- Можно list_fields() или field_data () методы пригодны для какой-либо автоматизации?
Одна из моих идей заключалась в профилировании таблицы, с которой я взаимодействую, в создании динамического ассоциативного массива, определяющего, какие поля яхотите представить, а также тип элемента формы, который он должен быть, а затем передать это в общее представление.Мысли?Недостатки?
Спасибо!