ОК, так что мое приложение Joomla в формате MVC.Я все еще немного озадачен тем, куда помещать определенные операции, в контроллере или в модели.Эта функция ниже находится в контроллере, она вызывается, когда &task=remove
.Должен ли материал базы данных быть в модели?Кажется, он там не подходит, потому что у меня есть две модели editapp (отображение одного приложения) и allapps (отображение всех приложений), теперь какую из них я бы поместил в операцию удаления?
/**
* Delete an application
*/
function remove() {
global $mainframe;
$cid = JRequest::getVar( 'cid', array(), '', 'array' );
$db =& JFactory::getDBO();
//if there are items to delete
if(count($cid)){
$cids = implode( ',', $cid );
$query = "DELETE FROM #__myapp_apps WHERE id IN ( $cids )";
$db->setQuery( $query );
if (!$db->query()){
echo "<script> alert('".$db->getErrorMsg()."');window.history.go(-1); </script>\n";
}
}
$mainframe->redirect( 'index.php?option=' . $option . '&c=apps');
}
Я также не понимаю, как работает поток.Например, в контроллере есть функция display (), которая вызывается по умолчанию.Если я передаю задачу, выполняется ли функция display () по-прежнему или она переходит непосредственно к имени функции, переданному функцией $ task?