如果我可以要求答案不要指向框架或其他图书馆,我将不胜感激.我知道这些,并且基于快速小黑客的经验更多的回答.
从一些基础html开始
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<title>Page Title</title>
</head>
<body>
// something is going to happen here, could be more html, or php
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
假设您将拥有数百页,当然,您希望以一种减少代码重复的方式对其进行模块化.
我已经看过,使用过和辩论过许多策略.
基本包括方法:
的header.inc.php
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<title>Page Title</title>
</head>
<body>
Run Code Online (Sandbox Code Playgroud)
footer.inc.php
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
所有数百个php页面的存根:
<?php include 'header.inc.php'; ?>
// html or other php can go here
<?php include 'footer.inc.php'; ?>
Run Code Online (Sandbox Code Playgroud)
得到更多的幻想,并有一个var.inc.php,你可以设置$ page_title并在第一个包含前面,节省编辑数百页的时间.
功能方法:
show.inc.php
function display_header($page_title) {
echo "
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<title>$page_title</title>
</head>
<body>";
}
Run Code Online (Sandbox Code Playgroud)
你对页脚做同样的事情,我怀疑你明白了.我知道你们当时很多人都在想对象,我也想避免讨论这个问题.
考虑一下,你正试图教一个非常小的孩子一些原则,或者你试图让一个设计师进入某种形式的现代时代.
哪种方法,你开始遇到你将在浏览器中查看html和php的输出的情况.浏览器的源输出有一个非常清晰的选项卡缩进和结构.大多数时候,看一下网站的来源,我看到html非常糟糕.所有一行,或不同形式的缩进.
如何以简单的方式解决这个问题?
那个display_header()函数会在整个地方或空格中吐出,这取决于你的编辑器,它会使渲染的输出变得一团糟.
有这个选项:
function display_header($page_title) {
echo '<html>';
echo '<head>';
echo "\t" . '<meta http-equiv="Content-type" content="text/html; charset=utf-8" />';
echo "\t" . '<title>' . $page_title . '</title>';
echo '</head>';
echo '<body>';
}
Run Code Online (Sandbox Code Playgroud)
然后,你会遇到以下情况:
echo '<table>';
foreach ($variable as $item) {
echo '<tr><td>' . $item . '</td></tr>';
}
echo '<table>';
Run Code Online (Sandbox Code Playgroud)
与
echo "\t" . '<table>' . "\n";
foreach ($variable as $item) {
echo "\t\t". '<tr><td>' . $item . '</td></tr>' . "\n";
}
echo "\t" . '<table>' . "\n";
Run Code Online (Sandbox Code Playgroud)
而现在,你刚刚搞砸了你的PHP.所以我开始考虑输出缓冲区,我将完全让设计师对这个概念感到不满.但我只是混合了更多的HTML与PHP,我会感到自豪.
老实说,我从来没有能够解决这个问题:
<?php foreach ($variable as $item) { ?>
....
<?php } ?>
Run Code Online (Sandbox Code Playgroud)
两者都产生了更好的生成html,但对我来说,它也产生了一个更复杂的PHP文件.非常基本的问题,我相信会有一些强烈的意见,并希望推动框架和OOP.我理解这些方法,但同样,我正在寻找最好的建议,为那些永远不会对编程充满热情的人提供一些工具,并且只是希望以有助于提高效率的方式完成工作.
| 归档时间: |
|
| 查看次数: |
4579 次 |
| 最近记录: |