我一直在用 PHP 编写一个小页面,它不需要背后的成熟框架的力量。我之前在 Ruby-on-Rails 的工作中真正缺少的一件事是使用“content_for”有效地将内容传递到页面的能力。
我想知道的是,您如何创建一个在 PHP 中实现同样效果的页面生命周期?
所以,这里有一个简单的例子:
假设您有一个定义索引页面的模板,只是一个您想在所有页面上使用的重复标题和菜单。所以你的index.php
文件看起来基本上是这样的:
...header stuff...
<body>
<?php include $file.'.php'; ?>
</body>
...footer stuff...
编辑:感谢有关 URL 安全性的提示,但我们假设我正在安全地获取用户请求:)
现在,让我们在标题中说你想把这个:
<head>
<title><?php echo $page_title; ?></title>
</head>
能够在包含的文件中指定标题会很好,因此在http://example.com/index.php?p=test
您正在加载的 urltest.php
中,该文件如下所示:
<?php $page_title = 'Test Page'; ?>
... rest of content ...
现在,显然这不起作用,因为包含页面(index.php)是在设置变量之前加载的。
content_for
在 Rails 中,您可以使用该函数将内容“向上”传递。
我的问题是:在 PHP 中实现这种“content_for”功能的最简单、最精简的方法是什么?
理想情况下,我希望不涉及捆绑某些大型框架的建议,而是一些可用于许多不同应用程序的相对较轻的样板代码。