我对php很新,对最佳做法有疑问。我想知道,当从php返回html时,我应该将html直接包含在php文件中,在echo语句中或从外部文件加载它。如果我从外部文件加载它,每次用户加载页面时都会有磁盘操作吗?
我不知道这是否相关,但上下文是身份验证。我想向php文件发送一个基本身份验证请求,该文件将返回一个页面。
答案 0 :(得分:2)
您可以在同一个脚本页面中混合使用PHP和HTML。虽然PHP解释器在PHP标签中找到代码,但它会将其作为PHP。其他人将直接显示。请参阅以下示例。
<?php
$header = "PHP html Mix";
?>
<h1><?php echo $header; ?></h1>
<p>You can use php and html as mix. no need to echo static elements.</p>
在php文件上复制并过去,然后运行并查看。
<h1>
标签之间再次引入了一个用于回显字符串的php标记。如果您想将整个html放在if
或for
内,也可能如下所示。
<?php if($display==1){ ?>
<h2>Write whatever html within these start and close php tag.</h2>
<strong>no need to echo this in php</strong>
<?php } ?>
答案 1 :(得分:2)
让服务器在Web请求中访问多个文件可能会增加磁盘活动,但与数据库查询等相比,开销很小并不是一个问题。
看看wordpress ......它可能会在渲染任何输出之前通过20个或更多文件。
我个人认为保留标记模板是一种很好的做法,即使使用与处理逻辑和数据库查询的文件分开的大量<?=$var?>
标记进行插值
答案 2 :(得分:1)
将PHP与HTML结合使用的最佳做法是将<?php
和?>
分隔符中的PHP代码与纯(静态)HTML结合使用。例如,请考虑以下示例。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html version="-//W3C//DTD XHTML 1.1//EN"
xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.w3.org/1999/xhtml
http://www.w3.org/MarkUp/SCHEMA/xhtml11.xsd">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Example</title>
</head>
<body>
<p>The current date: <?php echo(date("Y-m-d")); ?>.</p>
</body>
</html>
因此,应尽可能以这种方式使用它,最好添加一个像MVC(模型 - 视图 - 控制器)这样的架构设计模式。