我如何将样式(css + html)与 php隔离开来,比如在 php 文件中只放入一些行,包括整个 样式或主题。
前任:
echo
eval_template("header") .
eval_template("body") .
eval_template("footer")
所以将来我可以在不接触 php 文件的情况下改变整个风格 有什么想法吗?
有很多方法可以做到这一点......
这是一个关于纯 PHP 模板的教程 http://www.phpro.org/tutorials/Introduction-to-PHP-templating.html
您还可以查看那里的许多模板引擎。树枝就是其中之一:http ://twig.sensiolabs.org/
你可以使用很多模板引擎来做到这一点,我更喜欢使用与 symfony2 框架集成的 twig。
Twig 很棒,因为它非常易于使用且非常灵活,您可以使用继承来创建一个通用布局,该布局可以使用特殊标签在某些部分进行扩展和覆盖。这是我在 Symfony 网站上找到的指南,但对于理解 twig 背后的逻辑非常有用:http: //symfony.com/doc/current/book/templating.html
就个人而言,我喜欢手动完成。
PHP 不应该同时返回 css 和 html 代码,甚至更好的是,它根本不应该返回客户端代码,而是返回对特定部分的依赖关系。您永远不想修改包含许多不同内容的文件。
为了将 css+html 与 php 代码分开,我通常做的是使用 include("..."); 完成的层次结构;和 include_once("...")。例如:include_once("header.php") > include("menu.php") > html 语义,css 类根据当前上下文正确初始化。
然后你在 header.php 中导入你的 css / js 外部脚本,这样你就不必修改整个东西,除非一切都发生了变化,或者你有一个完整的功能要添加到网站上。网站的每个部分都可以这样做。
希望这会有所帮助,对我来说,它极大地减少了调试时间,因为所有重要的事情只需要完成一次,然后在它的顶部,您可以根据需要分开。