为html页面使用PHP“模板”

时间:2014-05-01 06:10:02

标签: php html templates

我是一名CS项目的学生,所以它真的不重要。我选择使用php / html作为我的平台。无论如何,我的问题是将常见的html代码放入php文件,然后从文件调用函数输出html。这是常见做法吗?这就是我正在做的事情,似乎工作正常。我的目标(像每个人一样)只需要更新一个文件,并通过我的网站进行更改。我只是好奇行业标准的做法是什么,以及是否有其他好方法可以做到这一点。这是我现在要做的假代码示例:

<?php

class template
{

function sideBar(){ echo <div>..sidebar stuff that is consistent on all pages..</div>

function head(){ echo css import stuff}

function scripts(){echo <script>javascript stuff</script>} //this one didnt work fyi

}


?>

然后在html中我做了这样的事情:

<?php $template=new template; ?>


<html>
   <head> <?php $template->head(); ?> </head>

<body>
   <?php 
    $template->sidebar(); 

    $template->scripts();
   ?>



</body>


</html>

1 个答案:

答案 0 :(得分:0)

我看到你正在学习,甚至试图创建自己的模板。我认为所有优秀的程序员都在编写spaghetti代码,然后发现includes包含页面的某些部分(比如有文件的页眉,页脚甚至是菜单。

然后我们开始创建简单的模板 - 例如整个.html文件,其中包含占位符{{headScript}},{{PageBody}}和str_replace。因此逻辑不包含在html中。 (第1个mvc?)

接下来的进展是创建一个我们可以轻松添加动态脚本或设置当前菜单项的类。

对于我开始我的“战争”,使用结构语言进行编程演变就像上面提到的那样。

当你已经有一些方法可以做到这一点 - 你发现其他人已经做了与你完全相同的事情

  • Zend有一些PHP代码的观点,使其成为动态或使用ifwhile的。
  • Smarty是模板库 - 拥有自己的代码而不是php(非常类似于php,但ppl往往不会那么害怕代码)。
  • 其他许多人 - 有许多其他库或MVC框架找到了从html部分拆分实际代码的方法。

正如评论中的其他人所说 - 不要重新发明轮子 - 我建议你做两件事

  • 一个是你继续编写自己的代码(因为你会从中学到很多东西)
  • 如果您只需要模板 - 使用Smarty - 它很简单,仅用作模板框架。

选择是你的,尝试学习,看看其他人是如何做的,并发明''你自己的代码。它不需要像Smarty一样强大(它已经有几年的发展 - 你刚刚开始)。但这将是你的CS代码。