目标
为我的项目实施适当且高效的视图架构(最大限度地重用重复单元)
关于我的项目
我的项目涉及导师的课程和导师发布的包。没有使用框架,但模型、控制器部分存在面向对象和类层次结构。
我有以下模块 -
- 搜索-> 班级列表 - 搜索结果中显示的班级列表。
学生房间->班级列表-学生购买的班级列表
Search->Class Details - 搜索模块中类的详细信息页面
- 学生房间->班级详情 - 学生房间班级详情页面
同样对于包 -
- 搜索-> 包列表 - 搜索结果中显示的包列表。
学生房间-> 包列表 - 学生购买的包列表。
Search->Pack Details - 搜索模块中包的详细信息页面
- 学生房间-> 包详情 - 学生房间中包的详情页面。
我目前的计划
我计划有这样的课程:-
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
- 我知道 PHP 不支持多重继承,但这可以被伪造,如我可以在 PHP 中使用多个类扩展一个类吗?
现在以模块为例- 在 Search->Class details-- 从 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>
这种方法看起来如何?希望有经验的人提出建议。
谢谢