我不确定我用于这组网站的结构。我试图在这些网站中尽可能多地共享代码,以便最大限度地减少重复代码并提高效率。但是,我不确定它是否是好的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来处理“联系”表格等事项。
如果我对每个表单都有单独的方法,那似乎有点奢侈(并且难以维护)。表单太独特,无法通过一个全局方法进行管理,因此必须使用每个表单的唯一方法处理它们,或者为每个表单创建一个与该类无关的脚本(更容易维护)
总结:
先谢谢
答案 0 :(得分:1)
对我来说似乎很好。
你可以通过为formprocess实现一个接口或一些抽象函数来使事情更抽象,例如。
您可以编写BaseForm,BaseForm的所有子项都需要实现“validate()”,“process()”。鉴于此,您始终可以确定您的类实现了这些方法。这样你就可以在你的行动中使用它,如
$form->validate($post_data);
if($form->isValid()){
$form->process();
} else {
$form->handleError();
}
因为你有可能写OOP,我建议你这样做,因为它也更容易维护它。
我仍然需要在我的工作中使用较旧的项目(如osCommerce),并且当我看到所有代码重复并且如果单个文件包含大约3000-4000行代码且if-clauses跨越千线你可以很难维护它。 所以为了你自己:坚持oop