Лично все сводится к предпочтениям.Я предпочитаю метод создания папки администратора в моей папке контроллеров, поэтому доступ к моим контроллерам для области администрирования происходит следующим образом:
http://www.exampleapp.com/admin/clients
admin is the folder name in your controllers folder
clients is the name of the controller within the admin folder
Приведенная выше структура URL имеет свои преимущества и недостатки (я предпочитаю сохранять своикод чистый и менее загроможденный).
Я, как правило, также делаю одну модель на таблицу в базе данных.Таким образом, модель под названием пользователи будет иметь дело со всеми аспектами таблицы пользователей в моей базе данных.Модель продукта будет иметь дело со всеми аспектами таблицы базы данных продуктов.
Вы все еще придерживаетесь метода СУХОЙ (не повторяйтесь), потому что вы просто включаете файлы модели, которые вам нужны, из ваших административных контроллеров.в зависимости от того, какой раздел администратора вы администрируете.
Для вашего раздела пользователей вы можете создать папку с именем users в вашей папке контроллеров и использовать тот же вышеупомянутый метод.
Phil Sturgeon (aka God of Codeigniter), подытожил это в своем посте в блоге, но подробнее расскажу, прочитайте: http://philsturgeon.co.uk/news/2009/07/Create-an-Admin-panel-with-CodeIgniter