Приветствую всех! Наверное все сталкивались с проблемой когда ты кажется пишешь "правильно" но код просто не нравится.. Ты начинаешь искать изъяны но эти изъяны могут оказываются и не изъянами.... В то время как реальные ошибки могут остаться без внимания как правило в такие случаи нас поправляет наша высоко квалефицированая команда. Но не все мы там работаем за частую есть знакомый программист имеющий больший опыт... Но что делать если ваши взгляды слегка не сходятся...
Вот и решил я отдать сие дискуссию на суд все общьный)
1 Друзья я не хочу чтобы мой вопрос перешел в спор нада ли использовать МВЦ или нет
2 я бы хотел чтобы как положительная так и отрицательная критика была подкреплена обоснованием
И так начнем.... мой знакомый говорит что контроллер должен лиш запускать методы в нутри себя и, метод должен подключать модель модель будет делать все операции подключая вспомогательные класс. Вспомогательными классам он называет мо узко профильные модели и, именно модели должны передавать результаты во вью.
Мое мнение что методы контроллера должны оперировать результатами вычеслений таких узко профильных моделей и, передавать все во вью рассудите кто же прав ?
Далее вопрос 2 все мои модели построены на таком примере есть метод делающий выборку и записывающий ее в свойство. Есть геттер этого свойства. В итоге все сводетса к создай объект, запусти некий магический метод который что то делает, обротись к геттеру для получения результата.
Логически это конечно верно но мне не очень нравится запускать какой
(Добавление)
....какойто* метод перед запуском.. может я придераюсь и так и нужно писать или все таки тут есть ошибка..и если есть как ее закрыть?
ну и 3 прошу по смотреть мой контроллер и указать на неверные методы только пожалуйсто с обоснованием!
CODE ( htmlphp):
скопировать код в буфер обмена
class Controller_Home extends Controller_Index { private $counterNews = null; private $paginationParam = array(); public function action_index() { $this->start(); if($this->paginationParam['page'] <= $this->paginationParam['counterPage'] or $this->counterNews === 0){ $AllNews = $this->setAllNews($this->paginationParam['space'], $this->paginationParam['delimetr']); $blockLeft = View::factory('v_left', array( 'result' => $AllNews )); $blockRight = View::factory('v_right'); $center = array(); $footer = $this->defaultFuterPaginaton($this->paginationParam['downPage'], $this->paginationParam['viewPage'], $this->paginationParam['prewPage']); $center = array($blockLeft, $blockRight); $this->setActivateVisual('/media/css/style.css', $center, $footer); }else{ throw new HTTP_Exception_404(); } } private function start(){ $this->counterNews = $this->setCounterNews(); $this->paginationParam = $this->usePaginator(Model::factory('PaginationNews'), $this->counterNews, (int)$this->request->param('id')); } private function setCounterNews(){ $obj = Model::factory('CounterNews'); $obj->countNotDeleteNews(); $res = $obj->getCounterNews(); return $res; } private function setAllNews($space, $delimiter){ $obj = Model::factory('SelectAllNews'); $obj->setPaginationNews($space, $delimiter); $res = $obj->getNews(); return $res; } private function setActivateVisual($style, $cental = null, $footer = null){ $this->template->style = $style; $this->template->footer = $footer; $this->template->center = $cental; } public function action_news(){ $this->counterNews = $this->setCounterNews(); $news = (int) $this->request->param('id'); if($news <= 0 AND $this->counterNews > $news){ $news = 1; } $modules = Model::factory('OneSelectNews'); $modules->queryOneNews($news) ; $result = $modules->getOneNews(); if($result === false){ $result = "данной новости не существует"; }else{ $center = array(); } $newsPage = View::factory('v_news', array( 'modules' => $result )); $center = array($newsPage); $this->setActivateVisual('/media/css/styleNews.css', $center); } private function rightBlock(){ if(isset($_POST['send_x'])){ $ress = Request::factory('login/')->execute(); // $ress = Request::initial(); var_dump($ress); if($ress === false){ echo"HELLO !!"; //HTTP::redirect('privateOfise/'); }else{ foreach($ress as $error){ } } } } } // End Welcome
|