用PHP进行的体系结构搜索中的类结构


Class structure in a herarchical search with PHP

我只是在学习面向对象的设计,很难理解类继承如何在PHP中的形式中工作。我正在制作校友数据库的搜索表(供内部使用)。你选择一个毕业期来搜索五年或十年的间隔,然后你有单选按钮,可以搜索校友的学校教育、学位课程的详细信息,或者他们做过什么工作。一旦您选择了其中一个单选按钮,就有多个选项可以优化搜索。

某些代码对所有搜索都是通用的。例如,在每次搜索中,您必须首先选择毕业时间段。除此之外,搜索结果也大不相同。所有搜索都由一个类处理(alumiSearch)。它运行良好,但有1000行长!

我不知道如何将类划分为子类。当您想首先调用父类并将其直接指向正确的子类时,继承是如何工作的?

答案是否类似于alumiSearch中的一个简单控制器脚本(伪代码):

if (search_choice = "job search") {
    include jobSearch.php;
} elseif (search_choice = "school search") {
    include schoolSearch.php;
} ...

我已经研究了抽象方法和接口,但据我所知,子类必须定义其父类的抽象方法。搜索没有相同的方法,所以它们不能有这个通用模板。

控制器将是一个引用该方法的数组,您将遍历该数组并通过引用调用正确的方法。