Друзья!
Собираюсь начать разработку компонента с несколькими контроллерами. До этого писал простенькие вещи только с одним контроллером. И меня заинтересовала возможность скрыть передачу наименования контроллера через URI. Все мы знаем такую классическую схему:
require_once( JPATH_COMPONENT.DS.'controller.php' );
$controller = '';
if ($controller == JRequest::getCmd('controller'))
{
$path = JPATH_COMPONENT.DS.'controllers'.DS.$controller.'.php';
jimport('joomla.filesystem.file');
if (JFile::exists($path)) {
require_once($path);
} else {
JError::raiseError('500', JText_::('Unknown controller'));
}
}
$classname = 'MycomponentController'.ucfirst($controller);
$controller = new $classname();
Но меня заинтересовал подход, который испольуется в JomSocial:
Как я понял, тут наименование контроллера не передается в URI, а используется наименование view, и в зависимости от этого подключается нужный контроллер.
Верно ли я понял? Можно ли использовать такой подход для подключения контроллера или могут возникнуть какие-то подводные камни?
Может кто-то использует другие способы подключения контроллеров и может поделиться своим опытом?
