我有一个混合了php和html代码的文件,如下所示:
echo "<tr class='somthing'>";
用PHP代码保存我的php文件的最佳方法是什么?
答案 0 :(得分:4)
对此有一些争论,所以我只想说无论你选择什么,坚持下去。
通常,您可以使用模板系统(例如,Smarty)来保持您的文件正式清除PHP代码,但这在速度部门中有一些缺点。
或者,你可以通过打破与显示相关的部分并在其中使用小的PHP片段来使用最少的代码,例如
<?php foreach ($myArray as $myElement): ?>
<tr>
<td><?php echo $myElement; ?></td>
</tr>
<?php endforeach; ?>
当然,这并不能完全将您的代码与HTML分开,但对于任何不重要的事情来说,这几乎是不可能的;在我看来,Smarty模板只是不同的代码,而不是缺少代码。这种方法是由一些框架提出的,例如codeigniter和Zend Framework(认为你可以将它们与Smarty一起使用,它不是默认的)。
要记住的一件重要事情是你的显示逻辑就是:逻辑。无论您选择哪种方法,在您使用仅静态显示之前,您将永远不会100%无任何代码(或由其他代码/应用程序解释的类似代码的标记)。
答案 1 :(得分:2)
你可以去像Smarty这样的模板引擎。这允许您拥有一个控制器来准备所有数据,然后将其传递给视图进行渲染。
您也可以自己动手。您有一个视图,只是使用或基本循环来回显行。严格输出,没有其他逻辑。您的控制器准备数据,然后您可以使用输出缓冲来包含视图,让它渲染,获取缓冲输出并在以后回显它。
答案 2 :(得分:2)
将“数据”和“显示”逻辑分开是很好的。一个很好的方法是使用一个名为Model,View,Controller(MVC)
的架构大多数PHP框架都是围绕MVC构建的。看看Zend Framework或Codeignitor。
答案 3 :(得分:1)
答案 4 :(得分:1)
您应该检查MVC(模型 - 视图 - 控制器)方法。 MVC允许您将业务逻辑与表示逻辑(HTML)分开。
有关MVC的概述,请参阅:http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller
有关支持MVC的PHP框架列表,请参阅:http://www.phpframeworks.com/
答案 5 :(得分:1)
一种方法是像其他人提到的那样使用像Smarty这样的模板系统。我在另一个问题上写了一些介绍:
Beginner's guide to making a template driven PHP site
如您所见,它提供了一种将HTML和PHP代码分开的好方法