Я немного знаком с CI, и сейчас я пытаюсь создать веб-портал, используя его. Я пытаюсь сделать его достаточно гибким, чтобы принимать виджеты / модули. Так же, как компоненты для Joomla.
Для этого (я думаю) я должен создать модули, но печальная часть CI по умолчанию не принимает никаких модулей. Но с помощью HMVC или Modular CI, даже это может быть возможно, но, поскольку я не использовал их раньше, я не знаю, что подойдет для моего случая в долгосрочной перспективе.
В принципе, я хотел бы общаться с другими модулями и их контроллером через общий контроллер. Вроде как фронт-контроллер.
Например, возьмите мой контроллер по умолчанию в качестве сайта, и функциональность того, что я ищу, выглядит примерно так ...
class Site extends CI_Controller {
public function index() {
$appName = $this -> uri -> segment(1); // Take this as app name
$appControllerName = $this -> uri -> segment(2); // Take this as app controller name
$this -> load -> module($appName); //Loading our app Module
$this -> $appName -> load -> controller($appControllerName);
$this -> $appName -> $appControllerName -> render();
// Take Render() as one of the common method that all the modules controller should have and is reponsible for rendering the HTML
}
}
Выше кода это то, что я пытаюсь получить. Там может быть лучший способ сделать это. В любом случае я с нетерпением жду ваших ответов .....