Php 具有多个子域的网站的过程或OOP 简要说明

Php 具有多个子域的网站的过程或OOP 简要说明,php,forms,oop,class,subclass,Php,Forms,Oop,Class,Subclass,我不确定我用于这组网站的结构。我尝试在这些网站上分享尽可能多的代码,以减少重复代码并提高效率。然而,我不确定它是否是一个好的OOP,因此我想听听关于它的其他观点,以及我是否应该改变结构 以这些网站为例: www.domain.com support.domain.com clients.domain.com export.domain.com etc 我首先创建了一个名为class.domain.php的类。此类包含Web应用程序的所有全局方法 然后,我为每个子域创建了一个子类,如class.

我不确定我用于这组网站的结构。我尝试在这些网站上分享尽可能多的代码,以减少重复代码并提高效率。然而,我不确定它是否是一个好的OOP,因此我想听听关于它的其他观点,以及我是否应该改变结构

以这些网站为例:

www.domain.com
support.domain.com
clients.domain.com
export.domain.com
etc
我首先创建了一个名为
class.domain.php
的类。此类包含Web应用程序的所有全局方法

然后,我为每个子域创建了一个子类,如
class.www.php
class.support.php

如果这些子域中有任何较大的扇区,那么我将创建更多的子类来减小父类的大小

因此,我最终得到了一个类似这样的类的族谱:

每个类都包含与特定站点/部分相关的方法。这些方法包括:

  • 收集动态数据并将其返回到页面
  • 处理表格和发送电子邮件(联系、支持请求等)
  • 安全令牌系统
  • 登录系统
  • 我的问题 我不仅想知道这个结构是否良好,还想知道我是否应该使用面向对象的方法来处理“联系人”表单等

    如果我对每个表单都有单独的方法,这似乎有点奢侈(而且很难维护)。表单太独特,无法由一个全局方法来管理,因此必须对每个表单使用唯一的方法进行处理,或者对每个表单使用与类无关的脚本(这样更易于维护)

    总结如下:

  • 这种结构是一种有效且良好的OOP结构吗
  • 我应该在类中使用单独的方法处理表单,还是应该为每个表单编写单独的脚本
  • 提前谢谢

    我觉得很好

    您可以通过为formprocess实现一个接口或一些抽象函数,使事情变得更抽象一些,例如

    您可以编写一个BaseForm,并且BaseForm的所有子级都需要实现“validate()”、“process()”。因此,您可以始终确定您的类实现了这些方法。这样你就可以在行动中使用它

    $form->validate($post_data);
    if($form->isValid()){
      $form->process();
    } else {
      $form->handleError();
    }
    
    既然您可以编写OOP,我建议您使用它,因为它也更易于维护

    在我的工作中,我仍然不得不到处摆弄旧的项目(比如osCommerce),当我看到所有的代码重复时,我可能会尖叫,如果一个文件包含大约3000-4000行的代码,并且if子句跨越1000行,那么你可以很难维护它。
    因此,为了您自己的利益:坚持使用oop,谢谢您的输入。实际上这是个好主意!没有考虑过对表单使用抽象函数。:-)