Model-View-Controller част 1

Нека обобщим частите на компонента MVC:

Моделът е част от компонент, който работи върху данни от приложението. В нашия случай моделът ще съдържа методи за добавяне, премахване и актуализиране на информация. По този начин, ако програмата запази данните във файлове и ние трябва да ги запишем в базата данни, тогава за това ще трябва само да сменим модела, без да докосваме останалата част от кода.

Изгледът е част от компонент, който взема данни от модел и ги извежда към нас в потребителския интерфейс. За прости уеб приложения View генерира html страница с входни данни. Тези. изгледът взема данни от модела и ги вмъква в шаблона, който потребителят в крайна сметка вижда. Изгледът не променя данните, той ги показва само от модела!

Контролер

Контролерът отговаря за действията на потребителя. В нашия случай действието на потребителя е заявка за страница. Контролерът, в зависимост от заявката, ще извика модела, за да манипулира данните и да контролира прехода на модела към изгледа. По този начин контролерът не показва данни, а само извиква модела, който променя данните и след това прехвърля модела в изгледа, който се показва на екрана.

В зависимост от сложността на компонентите има допълнителни директории с файлове за Model, View и Controller.

Всеки компонент е в своя собствена директория. Joomla обработва компонента в следната последователност:

  1. Joomla! интерпретира изпълнените стойности в url: /index.php? option = com_hello.
  2. Търси таблицата на компонентите com_hello.
  3. След това търси директорията com_hello.
  4. Търси в тази директория входящия файл hello.php.
  5. И изпълнява този файл.

За нашия основен компонент ни трябват само пет файла:

  • hello.php е входната точка в компонента, подобно на index.php за сайтове.
  • controller.php - този файл съдържа основния контролер
  • views/hello/view.html.php е този Преглед на файл. Той получава необходимите данни и ги предава на шаблона.
  • views/hello/tmpl/default.php - самият шаблон.
  • hello.xml е XML файл, който казва на Joomla как, къде и какво да инсталира.

Създаване на входна точка (hello.php)

Joomla! винаги обработва връзката в основния файл index.php за страниците на Front End (сайт) или administrator/index.php за страниците Back Back (admin). Функцията за обработка на URL адреси ще зареди необходимия компонент въз основа на стойността 'option' в URL адреса (метод GET) или данните, предадени от POST.

За нашия компонент URL адресът изглежда така:

Кодът за този файл е доста типичен за всички компоненти (hello.php):