键入html是如此无聊并占用太多空间并降低代码可读性。如果要构建这样的函数,并使用标记函数编写所有html,该怎么办?我知道只是html更快,但如果通过标签功能编写html,它将如何影响网站性能和页面加载时间。一般来说,渲染HTML这样的方式还不错?非常感谢。
<?php
function tag($elem, $attr, $emb_elem = array()){
$arr = explode("|", $attr);
$attr_key = explode(',' , $arr[0]);
$attr_val = explode(',', $arr[1]);
$html = "<" . $elem;
for($i=0; $i<count($attr_key); $i++){
$html .= " " . $attr_key[$i] . "='". $attr_val[$i] . "'";
}
$html .= ">";
for($i=0; $i<count($emb_elem); $i++){
$html .= $emb_elem[$i];
}
$html .="</" . $elem . ">";
return $html;
}
echo tag("p", "class,id|someclass,someid", array("some data"));
# output: <p class='someclass' id='someid'>some data</p>
答案 0 :(得分:2)
以这种方式呈现HTML总是比不这样做慢 - 问题是这会影响您的网站多少以及您以这种方式保存的时间。写这种方式可能很好,许多框架都包含类似的方法。
如果您的网站以这种方式运行,请考虑缓存网页,以便不必在每次加载页面时对其进行渲染。
您可能有兴趣阅读Jade,将其转换为HTML:
!!! 5
html(lang="en")
head
title= pageTitle
script(type='text/javascript')
if (foo) {
bar()
}
body
h1 Jade - node template engine
#container
- if (youAreUsingJade)
p You are amazing
- else
p Get on it!
答案 1 :(得分:0)
只要您在拥有专门的网页设计师的团队中开发,或者只要您针对预定义的HTML布局进行开发,从您的PHP应用程序中删除HTML方面就会让您遇到麻烦。
我强烈建议您使用选择的模板引擎(我最喜欢的),或者只是让您的HTML“附近”您的PHP代码(更不灵活),如果您希望您的技能组包括填充预先设计的HTML功能。