slego
Новичок
MVC и цепочка Actions
Честно изучил все треды по данной теме, но так и не увидел следующего:
итак, есть поступающий запрос
http:://site.ru/index.php?action=listUser¶m1=...
который обрабатыется Request'ом на наличие ошибочных данных => далее изымается action => проверяется право юзера использовать его, и, если все в порядке, подключается необходимый класс, потомок от Action => выполняется его метод execute() => результат выполнения отдается _самому_главному_ контроллеру_ => контроллер передает управление представлению View => представление что-то там анализирует, и выплевыет html
Понятно, что это приблизительная схема. Т.е получается, что при таком подходе мы можем
обработать ну не знаю... одну модель, что ли...
В данном случае - у модели User вызываем метод listAll()... Комманда соответственно выглядит как
А, если, допустим, надо еще обработать модель News и вызывать метод show() и еще кучу всякого?
Т.е. при одном запросе обрабатывать несколько, можно сказать, _независимых_ моделей.
Вижу два вариант - оба не нравятся
1. Прописывать подобную логику в каждый метод
беее
2. Передавать строкой запроса цепочку action's и потом их обрабатывать подряд
action1=listUser¶m1=...action2=showNews...
Но это как-то тоже не по-взрослому..
Подскажите, пожалуйста, как подобное реализуете Вы?
Большое спасибо
Честно изучил все треды по данной теме, но так и не увидел следующего:
итак, есть поступающий запрос
http:://site.ru/index.php?action=listUser¶m1=...
который обрабатыется Request'ом на наличие ошибочных данных => далее изымается action => проверяется право юзера использовать его, и, если все в порядке, подключается необходимый класс, потомок от Action => выполняется его метод execute() => результат выполнения отдается _самому_главному_ контроллеру_ => контроллер передает управление представлению View => представление что-то там анализирует, и выплевыет html
Понятно, что это приблизительная схема. Т.е получается, что при таком подходе мы можем
обработать ну не знаю... одну модель, что ли...
В данном случае - у модели User вызываем метод listAll()... Комманда соответственно выглядит как
Код:
class ListUserAction extends Action
{
public function execute()
{
...
$this->checkAccess();
...
$user = new User()
$this->xml .= $user->listAll();
$this->log(...);
...
}
}
Т.е. при одном запросе обрабатывать несколько, можно сказать, _независимых_ моделей.
Вижу два вариант - оба не нравятся

1. Прописывать подобную логику в каждый метод
Код:
class ListUserAction extends Action
{
public function execute()
{
...
$this->checkAccess();
...
$user = new User()
$this->xml .= $user->list();
$this->log(...);
...
$news = new News();
$this->xml .= $news->show();
}
}
2. Передавать строкой запроса цепочку action's и потом их обрабатывать подряд
action1=listUser¶m1=...action2=showNews...
Но это как-то тоже не по-взрослому..
Подскажите, пожалуйста, как подобное реализуете Вы?
Большое спасибо