fbpx

Каталог статей

Каталог статей для размещения статей информационного характера

Технології

Створення Model-View-Controller компонента частина 2 – додавання моделі

Введення
У першій частині нашого посібника ми створили простий компонент, що складається всього з двох частин: представлення і контролер. Текст привітання був жорстко прописаний в коді подання. Це не є хорошим прикладом MVC, оскільки подання призначене тільки для того щоб відображати дані і не повинно містити їх. У другій частині посібника ми продемонструємо, як перенести ці дані з подання в модель. У наступних частинах ми покажемо всю міць і гнучкість даного підходу.
Створення моделі
Модель отримала таку назву, тому що цей клас покликаний представити (або змоделювати) який-небудь об’єкт. У наш випадку наша перша модель буде представляти привітання. Це відповідає нашому проекту, тому що у нас є одне уявлення, що показує наше привітання.
У відповідності з угодою про найменуванні моделей прийнятому в Joomla назва класу має починатися з назви компонента (у нашому випадку спочатку йде слово «hello» потім «model», а потім знову «hello»). Тому клас нашої моделі називається HelloModelHello.
Тут ми змоделюємо тільки одну дію нашого «hello». Наша модель буде виводити привітання. Таким чином, у нас буде лише один метод, який називається getGreeting(). Він повертає рядок «Hello World!».
Ось код класу нашої моделі:
getModel();
$greeting = $model->getGreeting();
Повністю код представлення буде виглядати так:
getModel();
$greeting = $model->getGreeting();
$this->assignRef( ‘greeting’, $greeting );
parent::display($tpl);
}
}
Додавання файлу в hello.xml
Все що залишилося додати це посилання в xml файл, щоб Joomla могла скопіювати потрібні файли при установці. Joomla буде шукати нашу модель в папці models так що посилання на неї повинна виглядати так:
models/hello.php
Новий файл hello.xml матиме наступну структуру:
Hello
2007-02-22
John Doe
john.doe@example.org
http://www.example.org
Copyright Info
License Info
1.01
Description of the component …

controller.php
hello.php
index.html
models/hello.php
models/index.html
views/index.html
views/hello/index.html
views/hello/view.html.php
views/hello/tmpl/default.php
views/hello/tmpl/index.html
Hello World!
hello.php
index.html
Висновок
Тепер у нас є простий MVC компонент. Кожна його частина дуже проста, але все разом дає досить велику гнучкість у використанні.
Стаття тут
Частина 3