Ada*_*mes 18 html php formatting
我一直在设计网站一段时间,但有一件事我在使用PHP和HTML时从未确定过.用PHP和echoHTML这样的整个文档更好吗:
<?php
doSomething();
echo "<div id=\"some_div\">Content</div>";
?>
Run Code Online (Sandbox Code Playgroud)
或者像这样的HTML文件,只需添加PHP:
<html>
<body>
<?php doSomething(); ?>
<div id="some_div">Content</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
echoHTML 似乎更整洁,特别是如果在整个页面中使用大量PHP,但这样做会丢失HTML的所有格式,即IDE中的颜色等.
Pek*_*ica 25
对此有不同的看法.我认为有两种好方法:
使用像Smarty这样的模板引擎可以完全分离代码和表示.
使用你的第二个例子,但是当将PHP混合到HTML中时,只输出变量.在输出任何内容或单独的文件之前,在一个块中执行所有代码逻辑.像这样:
<?php $content = doSomething();
// complex calculations
?>
<html>
<body>
<?php echo $content; ?>
<div id="some_div">Content</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)大多数成熟的应用程序框架都有自己的风格; 在这种情况下,通常最好遵循提供的风格.
sho*_*ger 11
我认为这取决于你的团队或你自己的决定.它可以而且应该根据您正在使用的文件类型而有所不同.如果您遵循MVC模式,那么您的视图应该是后者.如果您正在编写类或某些非输出脚本/代码,那么您应该使用前者.
尽量保持输出的显示或格式分离以及提供数据的逻辑.例如,假设您需要创建一个运行简单查询并输出一些数据的快速页面.在这种情况下(没有其他现有基础结构或框架),您可以将逻辑放在文件的包含或顶部或底部.例:
<?php
# define some functions here that provide data in a raw format
?>
<html>
<body>
<?php foreach($foo = data_function($some_parameter) as $key => $value): ?>
<p>
<?=$value;?>
</p>
<?php endforeach; ?>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
或者您可以将逻辑和函数定义放在包含文件中或文件的底部.
现在,如果您正在生成某种具有输出的类(它实际上不应该),那么您将回显HTML或从被调用的方法返回它.优选地将其返回,以便无论何时实施者想要它都可以输出.