Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/279.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_Oop_Class - Fatal编程技术网

php类关系及如何扩展类

php类关系及如何扩展类,php,oop,class,Php,Oop,Class,我的问题是关于体系结构和类之间的关系,我想知道比我实现的更好的解决方案 我有四节课,每节课解释一行 具有所有通用函数的core.php类 php类文件,其中包含任务A的特定函数,如在csv文件A上写入 php类文件,其中包含任务B的特定函数,如编写另一个与csv A完全不同的csv文件 php类,它是另一个特定于任务的类 现在来看看通用脚本,它将使用所有4个类。所以我不明白哪个类将扩展哪个类 A.php和B.php之间没有关系 但是x.php必须使用所有3个类core.php、A.php和B.p

我的问题是关于体系结构和类之间的关系,我想知道比我实现的更好的解决方案

我有四节课,每节课解释一行

  • 具有所有通用函数的core.php类
  • php类文件,其中包含任务A的特定函数,如在csv文件A上写入
  • php类文件,其中包含任务B的特定函数,如编写另一个与csv A完全不同的csv文件
  • php类,它是另一个特定于任务的类
  • 现在来看看通用脚本,它将使用所有4个类。所以我不明白哪个类将扩展哪个类

    A.php和B.php之间没有关系

    但是x.php必须使用所有3个类core.php、A.php和B.php

    目前,我为核心类设计了一个接口,x.php扩展了核心类并实现了接口。我将A.php和B.php设计为静态类

    请引导

    如果类与类之间没有任何关系,则不必扩展。您可以简单地在另一个类中使用一个类,而这两个类没有任何关系继承或接口

    您可以这样构造它:

    • class Common
      是每个类继承的基类,包含所有类都需要的公共代码,例如用于日志记录或数据库访问的代码
    • A类扩展了通用
      ,专门用于一些CSV相关任务。这个类本身可能做也可能不做任何事情
    • B类扩展了
      ,甚至更专门用于涉及CSV的特定任务
    • 类X扩展了公共
      ,并且是另一项任务

    通常,如果一个类做的几乎相同,但稍微专业化或不同,那么,
    扩展一个公共基类。如果一个类与另一个类没有任何共同之处,就让它们成为独立的类。使用
    接口
    进行多态性;听起来这不是你现在需要的。

    这听起来像是基本的依赖关系管理。我不明白你为什么明确地想要扩展任何东西

    您可能应该做的是注入所需的依赖项。在使用所依赖的对象实例化
    X
    之前,分别实例化
    Core
    A
    B