В ваших представлениях о контроллерах и HMVC есть несколько ошибок.
Лучший способ сделать это - использовать объектно-ориентированные контроллеры.Под этим я подразумеваю, что «дочерние контроллеры» должны расширять основной контроллер.
Разрешить основным контроллерам расширять Controller_Template, а дочерние контроллеры расширять основной контроллер.через маршруты у вас будет не только доступ к родительским свойствам, но ваш запрос будет делать следующее:
- Before метод основного контроллера
- Before метод дочернего контроллера.
- Действие дочернего контроллера.
- После метода дочернего контроллера.
- После метода родительского контроллера.
Из чего я получаюот вашего вопроса вам вообще не понадобится HMVC.На самом деле это очень плохая схема для передачи данных.Имейте в виду, что когда вы выполняете внутренний запрос через HMVC, это фактически совершенно новый запрос.Он пройдет через маршруты и этот список снова.У вас не будет доступа ко всем предыдущим свойствам запроса.
Еще один совет: не помещайте функции ORM в главный контроллер.Вместо этого используйте актуальные модели ORM.