Духовность™
Продвинутый новичок
ещё по контроллерам вопрос
В моей реализации, контроллеры совершают какие-то действия и отдают результат во View. Например,
ВНЕЗАПНО возникла необходимость получить данные новости с теми же условиями, но в другом контролере. Ну не переписывать же код? Не знаю, верно это или нет, но я захотел из другого контроллера вызвать метод News_Controller::ViewNews();
В итоге это получилось, но там же сработала и конструкция
определенная в методе ViewNews()
Внимание, вопрос:
1. Правильно ли это - вызывать в одном контроллере (Oter_Controller) другой контроллер (News_Controller)?
2. Если это приемлимо, как избавиться от "второстепенных" операций типа $this->view->menu = $this->getMenu();?
В моей реализации, контроллеры совершают какие-то действия и отдают результат во View. Например,
PHP:
class News_Controller
{
// где-то там наверху мы инстанцируем View
// метод показа новости, он же action,
// отвечающий за получение данных для одной логической страницы сайта
public function ViewNews()
{
// получаем меню сайта
$this->view->menu = $this->getMenu();
// получаем данные новости $news по какому-то условию...
$this->news = $news;
}
}
PHP:
class Oter_Controller
{
public function otherAction()
{
$news_controler = new News_Controller();
// получаем из view данные новости
$this->view->news = $news_controler->getView()->news;
}
}
PHP:
// получаем меню сайта
$this->view->menu = $this->getMenu();
Внимание, вопрос:
1. Правильно ли это - вызывать в одном контроллере (Oter_Controller) другой контроллер (News_Controller)?
2. Если это приемлимо, как избавиться от "второстепенных" операций типа $this->view->menu = $this->getMenu();?