【发布时间】:2012-06-01 09:34:12
【问题描述】:
我正在尝试在 PHP 中创建一个简单的框架,该框架将包含一个文件 (index.bel) 并呈现文件中的变量。例如,index.bel 可以包含以下内容:
<h1>{$variable_name}</h1>
如果不使用 eval 或要求框架的用户像这样键入 index.bel,我将如何实现这一点:
$index = "<h1>{$variable_name}</h1>";
换句话说:是否可以在不使用 eval 的情况下呈现文件的内容?我的问题的一个可行的解决方案是:
index.php:
<?php
$variable_name = 'Welcome!';
eval ('print "'.file_get_contents ("index.bel").'";');
index.bel:
<h1>{$variable_name}</h1>
【问题讨论】:
-
一些正则表达式有什么问题要查找和
str_replace... -
最好包含一个模板引擎类。例如 SMARTY(我觉得对 SMARTY 的厌恶)至少有一个模板引擎支持你自己的框架;它赞美它。
-
使用模板引擎。
标签: php variables rendering eval file-get-contents