在this answer结束时,RobertPitt写道“随着时间的推移你会学到你不应该直接在你的班级中使用html,并且你将上面的内容分成几个类”
那为什么这被认为是不好的做法?
答案 0 :(得分:1)
因为类本身应该是模块化的。例如,您可能希望在许多具有完全不同HTML标记的不同项目中使用身份验证类。
尽可能多地将GUI和逻辑分开,以便获得可以在其他项目中轻松重用的代码片段。
答案 1 :(得分:1)
将应用程序逻辑,业务逻辑和视图部分(本示例中为html)混合在一个地方违反 Separation of concerns和Single Responsibility设计原则。所以,这真的不是一个好习惯。
在其他答案和评论后更新:
在专用类中生成html部分,字符串或任何类型的数据都可以。这没什么不对。您可以使用html部分,类或方法中的字符串生成/使用/格式化或执行任何操作。问题是当你决定在你的应用程序的另一个类或方法(部分)中执行此操作时,主要责任是处理其他事情。编写没有任何原则或约定的代码会导致构建不可维护,难以理解,难以阅读,无味的spaghetti应用程序,这些应用程序无人学习/维护/扩展或使用。这不是一件好事。
答案 2 :(得分:1)
你引用的部分答案似乎与自己相矛盾,因为它声明你不应该在你的类中使用HTML,但是建议你创建Header和Footer类,这可能会生成HTML。
目前的其他答案似乎也没有解决您的问题。他们正确地指出,你引用的答案与关注点的分离有关,但这并不是你所要求的,至少从你的问题标题来看。
如果你实际上在询问是否编写一个负责生成HTML标记的类是不好的做法;那么简短的答案就是不是。
流行框架有时包括专门用于此目的的类,例如Yii中的CHtml。