Есть ли причина не разрешать доступ ко всем данным из всех частичных представлений? - PullRequest
1 голос
/ 05 апреля 2011

Да. Этот вопрос возник, глядя на Code Igniter, но на самом деле он не связан с воспламенителем кода из-за того, что каждое веб-приложение MVC php может поразить это.

Рассматривая MVC как дизайн приложения, давайте представим, что view делится на partial views. По умолчанию partial views имеет свои данные, а view - свои. Теперь мне стало интересно: есть ли какая-либо причина, по которой partial views не имеет доступа к данным view?

Ответы [ 4 ]

2 голосов
/ 05 апреля 2011
Частичное представление

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

Для удобства использования кода и небольшой пропускной способности лучше разделить передаваемые параметры

Если вы действительно хотите передать все параметры, просто выберите другой шаблон представления вместо частичного.

1 голос
/ 05 апреля 2011

Я не бог ООП, но я использовал шаблон декоратора для создания представлений (скатал свои собственные, поскольку мне не нравятся шаблоны в codeigniter / zend и т. Д.).

С точки зрения построения страницына мой взгляд, важно, чтобы частичные представления могли взаимодействовать с родителями - если компонент вашего частичного представления требует какого-либо внешнего ресурса (например, конкретного файла javascript), он ДОЛЖЕН быть в состоянии указать макету включить его вголовной раздел страницы, не имея доступа к нему для внесения этого изменения.

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

1 голос
/ 05 апреля 2011

Как правило, рекомендуется предоставлять данные только для представления (или, в данном случае, частичного представления), которое требуется для правильной визуализации.

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

0 голосов
/ 05 апреля 2011

Ruby on Rails - ответ по умолчанию - нет. Частицы можно рассматривать как дочерние элементы соответствующего представления.

Могут возникнуть некоторые проблемы, если вы выполняете какое-то асинхронное редактирование данных - vodoo.

Кроме того, это делает его простым и глупым. Часть представления знает то, что знает представление ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...