Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 我如何在项目中重用视图逻辑?_Php_Multiple Inheritance_Reusability_Viewrendering - Fatal编程技术网

Php 我如何在项目中重用视图逻辑?

Php 我如何在项目中重用视图逻辑?,php,multiple-inheritance,reusability,viewrendering,Php,Multiple Inheritance,Reusability,Viewrendering,目标 为我的项目实现一个适当且高效的视图体系结构(最大限度地重用重复单元) 关于我的项目 我的项目包括导师上课和导师出版的教材包。尚未使用任何框架,但模型、控制器部分存在面向对象和类层次结构 我有以下模块- 搜索->类列表-搜索结果中显示的类列表 学生房间->课程列表-学生购买的课程列表 搜索->类详细信息-搜索模块中类的详细信息页面 学生室->班级详情-学生室班级详情页面 对于背包也是如此- 搜索->包列表-搜索结果中显示的包列表 学生房间->包列表-学生购买的包列表 搜索->包详细信息-搜索

目标

为我的项目实现一个适当且高效的视图体系结构(最大限度地重用重复单元)

关于我的项目

我的项目包括导师上课和导师出版的教材包。尚未使用任何框架,但模型、控制器部分存在面向对象和类层次结构

我有以下模块-

  • 搜索->类列表-搜索结果中显示的类列表
  • 学生房间->课程列表-学生购买的课程列表

  • 搜索->类详细信息-搜索模块中类的详细信息页面

  • 学生室->班级详情-学生室班级详情页面
  • 对于背包也是如此-

  • 搜索->包列表-搜索结果中显示的包列表
  • 学生房间->包列表-学生购买的包列表

  • 搜索->包详细信息-搜索模块中包的详细信息页面

  • 学生室->包裹详细信息-学生室包裹的详细信息页面
  • 我当前的计划

    我计划开设如下课程:-

    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不支持多重继承,但这可能是伪造的,如中所述
    现在以模块为例-在搜索->类详细信息时- -从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>
    
    
    
    这种方法看起来怎么样?需要有经验的人的建议

    谢谢