Я создаю приложение с использованием Codeigniter и MVC.Я нахожусь в точке, где я хочу создать повторно используемые инструменты администрирования для различных объектов, таких как запись, пользователь, категория.Мне понадобятся конкретные наборы инструментов для разных контроллеров и представлений, а также несколько раз.
Я хочу иметь возможность вызывать что-то вроде $this->load_admin_tools($name,$data)
, где $name
будет именем наборов инструментов (которое будет простоhtml формы) и $data
необходимые переменные для обработки этих форм (скорее всего $id
объекта).
Я хочу сделать это, чтобы в одном месте добавить или удалить некоторые инструменты.
Я думал о создании model_admin_tools, где я буду проверять разрешение, если инструменты должны отображаться, а затем загружать правильный вид (с формами для удаления / редактирования / и т. Д.).Я знаю, что это должен быть контроллер (для проверки разрешений, а затем для решения, показывать что-то или нет), но повторять один и тот же код снова и снова, для меня это хуже, чем помещать их в модель.Я мог бы создать частную функцию в контроллере, но тогда мне пришлось бы добавить эту функцию ко всем моим контроллерам.
Есть ли лучший способ добиться этого?Я думал о помощниках, но опять же, помощники не для «просмотра».А может я просто слишком навязчив?
Заранее спасибо.