为什么我们不应该在PHP类中包含html标记?

时间:2013-11-03 11:24:56

标签: php html

this answer结束时,RobertPitt写道“随着时间的推移你会学到你不应该直接在你的班级中使用html,并且你将上面的内容分成几个类”

那为什么这被认为是不好的做法?

3 个答案:

答案 0 :(得分:1)

因为类本身应该是模块化的。例如,您可能希望在许多具有完全不同HTML标记的不同项目中使用身份验证类。

尽可能多地将GUI和逻辑分开,以便获得可以在其他项目中轻松重用的代码片段。

答案 1 :(得分:1)

将应用程序逻辑,业务逻辑和视图部分(本示例中为html)混合在一个地方违反 Separation of concernsSingle Responsibility设计原则。所以,这真的不是一个好习惯。

在其他答案和评论后更新:

专用类中生成html部分,字符串或任何类型的数据都可以。这没什么不对。您可以使用html部分,类或方法中的字符串生成/使用/格式化或执行任何操作。问题是当你决定在你的应用程序的另一个类或方法(部分)中执行此操作时,主要责任是处理其他事情。编写没有任何原则或约定的代码会导致构建不可维护,难以理解,难以阅读,无味的spaghetti应用程序,这些应用程序无人学习/维护/扩展或使用。这不是一件好事。

答案 2 :(得分:1)

你引用的部分答案似乎与自己相矛盾,因为它声明你不应该在你的类中使用HTML,但是建议你创建Header和Footer类,这可能会生成HTML。

目前的其他答案似乎也没有解决您的问题。他们正确地指出,你引用的答案与关注点的分离有关,但这并不是你所要求的,至少从你的问题标题来看。

如果你实际上在询问是否编写一个负责生成HTML标记的类是不好的做法;那么简短的答案就是不是。

流行框架有时包括专门用于此目的的类,例如Yii中的CHtml