Цель
Для реализации правильной и эффективной архитектуры представления для моего проекта (с максимальным повторным использованием повторяющихся единиц)
О моем проекте
Мой проект включает в себя занятия, проводимые преподавателями, и пакеты, публикуемые преподавателями.Инфраструктура не использовалась, но для модели, для контроллера имеется иерархия ориентации объектов и классов.
У меня есть следующие модули -
- Поиск-> Списки классов - список отображаемых классовв результатах поиска.
Комната для учеников-> Список классов - Список приобретенных учеником классов
Поиск-> Сведения о классе - Страница сведений о классев поисковом модуле
- Студенческая комната-> Сведения о классе - Страница сведений о классе в Студенческой комнате
и аналогично для пакетов -
Поиск-> Списки пакетов - список пакетов, отображаемых в результатах поиска.
Студенческая комната-> Списки пакетов - список пакетов, приобретенных студентом.
Поиск-> Сведения о пакете - страница сведений о пакете в модуле поиска
Комната ученика-> Информация о пакете - страница сведений о пакете в комнате ученика.
Мой текущий план
Я планирую иметь такие классы: -
Class Name Contents
commonListingDisplay paginationHtml()
smallRatingHtml()
commonDetailsDisplay commentsHtml()
largeRatingHtml()
commonClassPackListingDisplay extends commonListingDisplay
abbreviatedDetailsHtml()
(abbreviated class/pack
details html (class/pack details
ending with ... and a link to the
Class/pack details page).
commonClassPackDetailsDisplay extends commonDetailsDisplay
currently empty
commonClassDisplay classDateTimeHtml()
classReminderHtml()
classDetails extends commonClassPackDetailsDisplay,commonClassDisplay
Теперь на примере модуля - В то время как в Search-> Сведения о классе- - Из файла search_class_details.controller.php инициируйте объект класса classDetails, чтобы были доступны все повторно используемые функции.- Передайте все переменные и объект classDetails в class_details.view.php (который является файлом представления модуля class_details).Файл будет выглядеть примерно так: -
<div class="class_details">
<h2><?php echo $className ?></h2>
<div><?php echo $classDetails ?></div>
<?php $classDetailsObj->largeRatingHtml($ratingValue) ?>
<?php $classDetailsObj->commentsHtml($commentsArray) ?>
</div>
Как выглядит подход?Хотели пожелания опытных людей.
Спасибо