2015-03-02 12 views
1

В моей предыдущей компании, у которой был веб-сайт all-ajax, была использована рамка с нуля. В разделе «Обновления страниц страницы» было указано, что вы вызываете контроллер со строкой, а контроллер загружает один или несколько файлов вида. Файл вида почти всегда вызывает класс или классы в модели. Так было, когда я добрался туда.модель вызова вызова или просмотр модели вызова?

Я сейчас работаю с новой компанией, чтобы разработать новую систему и посмотреть на кандидата в каркас. 30-минутный учебник по codeigniter показывает контроллер, вызывающий модель, и модель, загружающую представление.

Это противоречит тому, что я привык к своему опыту, поэтому я хотел спросить, какая стратегия более распространена. На мой взгляд, кажется более рациональным, что представление представляет собой «оболочку» или структуру, но которая ограничена необходимостью получения модели для бизнес-правил.

Я не уверен, что я должен поделиться ссылкой здесь, я НЕ пытаюсь продвигать кодignign, но учебник находится по адресу https://www.youtube.com/watch?v=47VOtKiw9AQ примерно в 10:00. Спасибо

+3

Последний раз, когда я проверил представление, было использовано для отображения информации и, вероятно, собрать некоторую информацию (которая будет передана контроллеру). Но точка зрения никогда не должна напрямую обращаться к модели, или к контроллеру в этом отношении. Отделите свои обязанности. –

+2

Согласен с @AndreiP. Контроллер является «центральной частью». Это должен быть тот, кто вызывает модель и загружает представления. Единственное, что должна назвать модель, это db. Просмотр никогда не вызывает ничего. [См., Что говорит doc] (http://www.codeigniter.com/userguide3/overview/mvc.html) – AdrienXL

+0

Для CodeIgniter, наиболее распространенным стандартом является то, что контроллер вызывает модель для извлечения данных, а затем передает ее для просмотра , Между представлением и моделью не должно быть прямой связи. –

ответ

0

учебники. их очень много.

Контроллер вызывает модель и передает данные на просмотр. это стандартный ответ. однако теперь я наклоняюсь - контроллер назначает определенные виды, а затем вызывает шаблон, передавая $ data.

, а затем в шаблоне - есть призывы к модели для создания навигационных панелей для этого шаблона и, при необходимости, модели отображения страниц.

иначе - либо у вас есть my_controller, который все проходит через это может иметь вызовы на странице отображения, навигации и т.д.

Или вы должны положить детали страницы дисплея в каждом контроллере. лично я не большой поклонник шаблона проектирования my_controller, а вызовы на навигатор в сложных контроллерах не являются оптимальными.

так что в этом случае то, что можно считать видом - простым файлом шаблона, вызовет модель. но в этом случае это не «вид», потому что он не отображает ничего напрямую - шаблон вызывает навигационное представление, заголовок, нижний колонтитул и т. д. и т. д., а затем фактическое содержимое страницы назначается контроллером.

это также дает вам большую мобильность - когда вам нужно изменить информацию о просмотре страницы или навигации, вам нужно только перейти в одно место.

наконец-то есть много фреймов и множество мнений. после долгого спящего периода система codeigniter находится в активной разработке. однако, если вы начинаете с квадрата, взгляните также на узел, у него есть некоторые убедительные функции в зависимости от вашего варианта использования.