Марсианин
87 / 87 / 22
Регистрация: 11.10.2012
Сообщений: 333
1

Как правильно реализовать условие в виде следуя MVC?

20.11.2013, 16:15. Показов 1002. Ответов 1

Author24 — интернет-сервис помощи студентам
Как правильно реализовать условие в виде следуя MVC? Будет ли верно написать в скрипте вида:
PHP
1
<?if (/*некоторое условие*/){require 'adm_panel.html';}?>
?

Но зная, что в виде должен быть только вывод и по минимуму php. Думаю может создать в контроллере переменную, в которой в зависимости от условия будет находится либо html код выводимой панели либо ничего. А в виде написать только <?echo $variable;?>

Пока склоняюсь к варианту именно подключения файла. Ибо запихивать код в переменную - это уже на мой взгляд какой-то метод уровня Попова.

Но где-то начитавшись, что в виде, по-хорошему, не должно быть даже условий - колеблюсь.

Добавлено через 1 час 6 минут
Например, для наглядности.
метод 1:
скрипт вида
PHP
1
<?if ($_SESSION['group']=='admin') require_once APPLICATION_PATH.'/resources/admPanel.html';?>
Метод 2:
Bootstrap.php
Подключаем и регистрируем плагин. Хотя его в любом случае придется регистрировать, так как он нужен не только для этого.
PHP
1
2
3
<?require_once '/resources/Autorization.php';
$front = Zend_Controller_Front::getInstance();
$front->registerPlugin(new Autorization());?>
Autorization.php
Читаем файл, переводим в строку, передаем строку в парамерт с ключем 'admPanel'
PHP
1
2
3
4
5
6
if ($_SESSION['group']=='admin'){
            $file = file(APPLICATION_PATH.'/resources/admPanel.html');
            foreach ($file as $row)
                $admPanel .= $row."\n";
            $this->_request->setParam('admPanel', $admPanel);
        }
IndexController.php init()
PHP
1
$this->view->admPanel = $this->_request->getParam('admPanel');
И наконец скрипт вида
PHP
1
<?echo $this->admPanel;?>
На первый взгляд может показаться, что первый метод лучше. Так как использует только одну строку.

Но второй, хоть и запаристей в написании, но зато все происходит в "мозгах", а в вид отправляется только
результат.

Так как лучше?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.11.2013, 16:15
Ответы с готовыми решениями:

Как правильно реализовать авторизацию пользователя WIF и MVC
Не давно начал исследованные по поводу WIF (Windows Identity Foundation). Вроде технология...

MVC. Как правильно спроектировать
Добрый вечер.

Как правильно реализовать доступ во внутреннюю (корпоративную) сеть из внешней и реализовать аутентификацию
Доброго времени суток. Вобщем суть вопроса... есть настроенный в корпоративной среде Sql Server...

Как правильно завершать действия в MVC?
Здравствуйте. Подскажите, у меня есть mvc система и есть страница с добавлением картинок...

1
189 / 185 / 54
Регистрация: 23.10.2010
Сообщений: 1,336
20.11.2013, 18:27 2

Не по теме:

Не используй шортеги, они для (кого-то там)



MVC - это шаблон, но е какие-то строгие правила. По фенгшую у тебя инклудов вообще не должно быть, оно должно быть где-то уровнем ниже и подключаться автоматически, к примеру в контроллере есть метод load_view (но не метод контроллера, просто виден в области конроллера), который подгружает вьюшку.
1
20.11.2013, 18:27
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.11.2013, 18:27
Помогаю со студенческими работами здесь

MVC. Как реализовать список категорий и пейджер?
Приветики. Пишу онлайн магазин с нуля (лаба такая). Использую маттерн MVC. И вот нужно сделать...

Как отправить дату из Silverlight в MVC 3 и правильно ее обработать
Дорогие Форумчане, помогите трудолюбивому незнайке. Есть проект на Silverlight. Не могу отправить...

Как правильно сделать структуру в Laravel не нарушая MVC?
Добрый день.Первый раз работаю с Laravel,читаю много информации в Интернете, и меня смущает,то в...

Как правильно сохранять файлы на сервере. Spring MVC
Хелп ми!! Как правильно сохранить картинку в базе или в файловой системе? Сейчас я сохраняю по...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru