2011-05-25 50 views
0

混合HTML和PHP的坏主意?PHP代码分离

我正在读这tutorial,它似乎像代码分离是一种更优雅的设计合并某种MVC结构。我脑海中的一件事是 - 混合一点HTML和PHP真的可以接受吗?

+0

是的,可以接受 – 2011-05-25 13:12:50

+0

是的,我认为是。 – KingCrunch 2011-05-25 13:14:53

回答

3

只要您为演示目的而使用HTML和PHP就可以。在MVC结构中,您只能在视图中将PHP与HTML混合使用,并且仅用于视图所需的东西。

切勿将业务逻辑与HTML混合使用。

+0

因此,呈现内容很好,而另一个后端PHP应该没有HTML。 – unleashed 2011-05-25 13:21:38

+0

根据你的意思后端...作为一个经验法则,使用PHP作为模板语言是很好的。使用'foreach','if',从控制器等获得的变量,但不要查询,创建对象等等,这是一个控制器的工作。 – rid 2011-05-25 13:23:40

2

是的 - 即使在MVC框架中混合使用HTML和PHP也是完全可以接受的。这是可以接受的 - 这是预期的。

您可能正在谈论的“代码分离”是处理更多的HTML类型的代码。例如,在大多数MVC框架中,您保留用于检索数据的逻辑以及实际连接来检索不同于HTML的文件中的数据 - 但在HTML中,您仍然需要诸如PHP循环,包括...等。

1

在PHP MVC框架诞生之前,这就是传统PHP网站如何存在的原因:)这是完全可以接受的。

+4

如果人们写意大利面代码,这并不意味着意大利面代码是可以接受的。这是丑陋的,不容易的,难以阅读,容易出错,我在哪里开始列出所有的缺点? – rid 2011-05-25 13:15:55

+2

写“意大利面代码”的人,也会在MVC中写这些。 – user769628 2011-05-25 13:34:32

1

你所包含的“tutorial”有一个example.php文件,由于它处理抽象的荒谬方式而几乎不可读。

我觉得大多数人对此太担心,我倾向于分离得相当沉重,只是因为我认为它有助于我编程以在应用程序中具有不同元素(PHP/CSS/HTML/JS)的方式不同的文件。

话虽如此,有时它太多了。 echo '<strong>'.$title.'</strong>';没有什么不对,就像<strong><?=$title?></strong>没有错。

我想说的一件事就是尽量不要混淆两者(即在某些文件中将演示文稿中的单独逻辑混淆,然后变得懒惰并且不要在其他文件中使用),因为这很可能最终会伴随着您通过一些文件来试着找到你的get_user_from_email()函数或其他什么地方。

显然,如果您使用特定的设计模式,那么您应该遵循该模式的规则。 MVC应该有一个业务逻辑和表示的分离。