Для чего я могу использовать архитектуру HMVC?

платформа PHP, которую я использую (Kohana) недавно, реализовала архитектуру HMVC. Я считал, что это - многоуровневый mvc, где запросы выполнены друг на друге. Это немного похоже на ajax, просто чисто серверная сторона. Я применил его немного на некоторые эксперименты, но я не могу применить его ни к одному из моих проектов (потому что я не могу найти потребность в нем). Вы когда-либо использовали HMVC в проекте прежде? Как это помогало Вам?

12
задан tereško 23 August 2014 в 10:37
поделиться

2 ответа

Это немного похоже на ajax, только чисто серверный.

Это хорошая аналогия.

HMVC удобен для добавления виджетов на страницы - модульных кусочков контента, которые вы будете использовать на нескольких страницах. Например, виджет корзины. То же самое можно сделать разными способами:

  1. Библиотека. Мы привыкли переносить многократно используемый код из контроллера в библиотеку. Затем из контроллера можно загрузить результаты вызова этой библиотеки в переменную представления.
  2. Представление. Вы можете загрузить представление (частичное) из основного представления. Этот частичный вид может получать содержимое из моделей. Вызов моделей из представлений не всегда популярен, но это не обязательно неправильно.

Однако у HMVC Kohana есть несколько преимуществ:

  1. Последовательность - запросы HMVC рассматриваются так же, как и внешние http-запросы.
  2. Мощность - HMVC запросы имеют те же ресурсы Kohana, что и http запросы, включая маршруты.
  3. Подключаемость - При вызове из представления запрос HMVC не имеет связи между контроллером (который назначает результаты библиотеки представлению) и заполнителем представления. Вы касаетесь только одного файла, а не двух.

Я начинаю ценить аргументы в пользу HMVC и масштабируемости с http-запросами, о которых говорил Kiall. То же самое можно сделать с помощью CURL. Однако, возможно, было бы более естественно с самого начала проектировать с HMVC Kohana, чем с CURL.

14
ответ дан 2 December 2019 в 06:26
поделиться

Что ж - Сэм де Фрейссине (он же samsoir), один из разработчиков Kohana, недавно опубликовал статью, посвященную этому вопросу.

http://techportal.inviqa.com/2010/02/22/scaling-web-applications-with-hmvc/

Хотя это не единственное применение для HMVC - это одно из наиболее популярных применений. Статья в основном касается масштабируемости (например, количества запросов в секунду), но масштабируемость кода (например, насколько легко / сложно поддерживать код) может быть «решена» с помощью тех же идей.

Надеюсь на это помогает :)

(Примечание - его примеры кода основаны на личных изменениях Сэма в Кохане - см. примечание в конце статьи)

8
ответ дан 2 December 2019 в 06:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: