А команда, да это по сути действие, и мне кажется не нужно пихать в нее acl и так далее. А она выполняет какие-то атомарные операции
да именно атомарные, я как бы это хотел сказать, что бы сделать как бы как правильно - атомарно, надо целую кучу наворачивать и может показаться (а оно так может и есть) что лучше уже применить экшн контроллер…
Вот типа атомарной операции:
class Auth_Logout_Action extends Kostyl_Action_Abstract {
public function run()
{
$auth = new Auth_Model_Auth();
if ($auth->getUserId()) {
$auth->logOut();
}
$this->redirect($this->getBaseUrl());
}
}
но $this->redirect($this->getBaseUrl()); как бы нарушает атомарность, понимаешь?!
И вообще я последнее время не заморачиваюсь и всё подряд тупо валю, даже формы делаю не отдельно, поэтому атомарность вообще расплывается. В основном она концентрируется только в блоках самой страницы как бы, т.е. каждый фрагментик страницы формируется своим экшеном-командой.
По поводу твоего сервисного слоя, я обычно выношу просто это все в приватные методы контроллера и на этом делу конец… смысл отделять так? не ну всё конечно от задачи зависит.