【问题标题】:Passing in page specific content into a PHP included header将页面特定内容传递到 PHP 包含的标头中
【发布时间】:2013-12-05 22:18:50
【问题描述】:

我正在为一家本地公司创建一个网站,并将每个页面的标题拆分为一个单独的 php 页面,然后将其包含到每个页面中。我想知道将单独的描述和标题内容插入到每个单独页面的 php 标头中的最佳做法是什么。我应该在包含的 header.php 链接之前创建一个 php 变量,然后将该变量参数插入到 php 文件中的标题和描述标签中吗?每个变量都有不同的标题和描述,具体取决于它所在的页面。或者将这些不同的描述和标题内容包含到另一个外部 php 页面中是否更有意义?如果您有更正确/更简单的方法也最适合 SEO,请告诉我。谢谢!

【问题讨论】:

    标签: php html http-headers title


    【解决方案1】:

    我建议创建一个包含所有必需属性(描述、标签等)的元数据对象定义。然后为站点的每个页面实例化一个 Metadata 对象,就在包含您的标题之前,并在标题中使用当前 Metadata 对象的值。

    【讨论】:

    • 感谢 Ryan,大约一年前才开始学习 PHP,这有助于我更好地理解 PHP 的对象模型。你知道一个很好的网站可以很清楚地解释 PHP 中的对象模型吗?我在网上遇到的所有解释都相当复杂。
    • 这是我最好的解释:它是一个对象。什么是对象?好吧,假设你有一辆车。那是一个物体,对吧?.. 汽车是什么颜色的?那是该对象的变体(变量)。 $car = 新车(); $car->setColor('red')->setModel('Mustang')->setMaker('Ford');我的车的颜色是 $car->getColor();。这家伙本质上是让你这样做,但你处理的是页面而不是汽车。
    【解决方案2】:

    通过 MVC 类型架构从模板中拆分逻辑(以及标题、页面信息、动态内容)

    这里有一些易于学习的模板引擎(我相信是最受欢迎的两个)

    http://www.smarty.net
    http://twig.sensiolabs.org
    

    您可以在此处阅读有关 MVC 架构的信息:http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller

    【讨论】:

    • 感谢 skrilled 的回复,但这对我来说有点太复杂了。我还在努力掌握 PHP 的基础知识。
    • 这听起来很复杂,因为你在脑子里就是这样。在我办公室的楼上,我们有一些不懂 php 的图形设计师来开发我们的模板。如果你会写一个title标签,甚至知道什么是变量并且可以创建一个php页面,你就可以使用smarty。我想如果你花 5 分钟看文档,那么你会意识到它比你想象的要简单:p 你真的认为这很复杂吗?:smarty.net/crash_course
    【解决方案3】:

    不管你怎么做,基本上你最初的建议是最好的方法之一。在包含 header.php 文件之前,在每个页面中定义一个变量、对象或其他任何内容(同样,无论是模板,还是只是常规的 php 包含,由您决定)。然后只需将它们设置为每个页面所需的任何内容,就可以了。

    我个人建议使用 Smarty 之类的模板引擎。

    至于搜索引擎优化,这是一个完全不同的对话。这与变量的内容更相关,而不是它们的实现。

    【讨论】:

      猜你喜欢
      • 2021-08-08
      • 2015-01-23
      • 1970-01-01
      • 2013-06-25
      • 1970-01-01
      • 1970-01-01
      • 2021-03-11
      • 2018-01-04
      • 2021-10-09
      相关资源
      最近更新 更多