Выдели фрагмент текста с ошибкой или неточностью и нажми Ctrl+Enter!
Выдели фрагмент текста с ошибкой или неточностью и нажми Ctrl+Enter!
Joomla — это один из фреймворков, который широко использует паттерн MVC (
После того как посетитель сайта зашел на определенную ссылку на сайте, Joomla обрабатывает запрос и выясняет какую страницу запрашивает человек, определяет компонент который будет загружаться и обрабатывать все пришедшие переменные $_GET и $_POST ($_SESSION, $_COOKIE и другие — это уже обрабатывается в компоненте).
Если компонент был разработан согласно схеме MVC, то управление будет передано Контролеру (Controller), который в свою очередь решит, как обрабатывать переменные, какую модель(и) загружать, а также отправляет ответ пользователю о том или ином событии.
Модель (Model) работает с данными, которые необходимы компоненту, а именно выбирает, сохраняет, обновляет, удаляет и прочее… В большинстве случаев эти данные выбираются из базы данных сайта, но так же можно использовать в виде хранилища
Вид или представление (View) отвечает за генерацию выходного кода, внешний вид. Часто это место называют «шаблоном» сайта. Он вызывает Модель и запрашивает у неё определенные данные. Модель собирает всю необходимую информацию и отдает её Виду, который отправляет ее пользователю в виде HTML (т.е вместе с дизайном, картинками, стилями…). При этом
Чтобы обеспечить дополнительную гибкость и мощность в шаблонах, упростить жизнь разработчика, для Вида предусмотрено разбиение на дополнительные уровни («layout»). Так, одному виду может принадлежать несколько уровней. Например, для Вида «Форма» есть уровни «Форма», «Сообщение», «Ошибка отправления». Или такой пример: Вид списка категорий может иметь совершенно различный код HTML, но при этом данные отображаются одни и те же, т.е модель одна и та же. Для этого мы создаем различные уровни Вида.
Имея весь этот «арсенал», разработчик может создавать мощные и гибкие приложения, которые в будущем легко расширить. При этом, для того чтобы изменить логику программы, нужно изменить только Контролер, для изменения места хранения и способа обработки информации — изменить только Модель, а изменив Вид, меняется внешний вид компонента, который собственно и видит пользователь.
В статье хотелось бы видеть именно реализацию MVC в Joomla, а не общие фразы про MVC который ты вытянул с википедии. Как MVC реализован в Joomla где лежит контроллер, где модель, где вьюха???
Heya i am for the first time here. I found this board and
I find It really useful & it helped me out a lot.
I hope to give something back and aid others like you aided me.
Thanks for some other informative blog.
The place else could I get that type of info written in such a perfect method?
I've a project that I'm just now operating
on, and I've been at the glance out for such information.
I was able to find good information from your blog posts.
Howdy would you mind sharing which blog platform you're working with?
I'm planning to start my own blog soon but I'm having a tough time deciding
between BlogEngine/Wordpress/B2evolution and Drupal.
The reason I ask is because your design seems different then most blogs and I'm looking for something unique.
P.S Sorry for getting off-topic but I had to ask!
My relatives all the time say that I am wasting my time here at net, however I know I am
getting know-how all the time by reading thes good articles
or reviews.